Finance is a comprehensive financial management tool that helps users track and manage their expenses. It allows you to add subscriptions and singular finance items to understand your spending patterns. The app leverages AI models to help you make better financial decisions while ensuring your sensitive financial data stays private.
Check it out here
- Expense Tracking: Easily log subscriptions and one-time purchases to monitor your spending.
- Financial Analysis: Get insights into your spending habits and financial patterns.
- AI-Powered Recommendations: Receive personalized advice for better financial decisions.
- MongoDB Database: Stores all financial data efficiently and reliably.
- Local Deployment: Process your financial data securely on your own machine with no cloud dependency.
- Privacy First: Your financial information stays local, giving you complete control.
- User friendly UI: Simple and intuitive front-end app for managing your finances
- Docker installed on your machine
git clone https://github.com/JakubTuta/finance.git
cd financedocker-compose up -dFastapi server runs on http://localhost:8000
Nuxt web app runs on http://localhost:3000
MongoDB runs on http://localhost:27017
cd backendCreate virtual environment
python -m venv venvRun virtual environment
# on Windows
venv/Scripts/activate
# on MacOS / Linux
source venv/bin/activateInstall the modules:
pip install -r requirements.txtCreate .env file in backend directory with following content (check .env.example for reference):
ACCESS_SECRET_KEY: Generate SHA256 key
REFRESH_SECRET_KEY: Generate SHA256 key
DATABASE_USERNAME: Database username
DATABASE_PASSWORD: Database password
DATABASE_NAME: Database name
DATABASE_PORT: Database port
LOCAL_DATABASE_HOST: MongoDB url (for example hosted on docker)
CURRENCY_API_KEY: Your currency conversion api key (from [here](https://app.freecurrencyapi.com))
GEMINI_API_KEY: Your gemini api key # Required for reading from .csv file
# Optional
PRODUCTION_DATABASE_HOST: Production MongoDB url (for example hosted on mongodb atlas)
IS_PRODUCTION: true if production, false if localMake sure the mongodb database is running on http://localhost:27017
Now you can run server
fastapi run main.pyFastapi server is running on http://localhost:8000
cd frontendInstall the dependencies:
# replace npm with any package manager
npm install# # replace npm with any package manager
npm run devNuxt app is running on http://localhost:3000