App to keep track of your finances. The app is an experiment created from a simple web framework built from scratch without the react library.
Ideal to be used in a local network in the family. No log in is needed.
- Fast filtering of your transactions using Datatables.
- Group the transactions by types and category and show intuitive respective pie charts.
- Aggregate transaction by month.
- Insert new transactions and update existing transactions.
- Insert transaction by importing json files.
- User Authentication: Add login/signup
- End-to-End Encryption:
- All transaction data (amounts, dates, categories, types, notes) is encrypted in the browser before it’s sent to the server.
- The server stores only ciphertext and necessary metadata (e.g. IVs, blind‐index tags) and never has access to decryption keys.
- Each user’s keys are isolated and managed so that only they can decrypt their own records.
- Privacy-preserving queries (e.g. category/type filters) use encrypted indexes so raw values are never exposed to the backend.
- Enhanced Search & Filtering: Implement privacy-preserving search (blind-index) for encrypted fields.
Install the packages by
make setup
Start PostgresQL DB
cd backend
docker compose up postgres
Start Fast api
cd backend
uvicorn fin_pool.main:app --host 0.0.0.0 --port 8000 --reload
Run parcel by
cd frontend
npm run start-parcel
In the Config.ts
, you can set the url of the backend server if your server is not in localhost.
- Start the postgres DB
- Start the Fast API
- Navigate to the Fast API docs
- Run the upload file end point with the file dummy_db_json file provided.
Note:
- This must be done through the FastAPI documentation interface, as the feature is currently not enabled from the frontend.
- Only json files are supported.