Fintrack is a privacy-first, self-hostable personal finance tracker built by Sannty. Designed for individuals who want to take full control of their income, expenses, budgets, and financial goals without relying on third-party services.
email: [email protected]
password: fintrack
- π Track income and expenses with ease
- π§Ύ Add custom categories and tags
- π View transactions by day, week, or month
- π Budget planning and progress tracking
- π 100% self-hosted β your data, your server
- π¦ Export data as CSV or JSON
- π€ Multi-user support (optional)
- π Light/Dark mode UI
- π± Responsive design (mobile + desktop)
- π API-first architecture
- Framework: React 18
- Styling: TailwindCSS
- State Management: Zustand
- Build Tool: Vite
- Package Manager: pnpm
- Framework: Django + Django REST Framework
- Database: PostgreSQL
- Package Manager: Poetry
- Authentication: JWT-based
- Containerization: Docker & Docker Compose
- Development: Hot-reload enabled for both frontend and backend
fintrack/
βββ api/ # Django backend
β βββ app/ # Django project settings
β βββ pft/ # Main Django app
β βββ manage.py # Django CLI
βββ web/ # React frontend
β βββ app/ # Application source
β βββ public/ # Static assets
β βββ schema/ # API schema
βββ README.md
# Clone the repository
git clone https://github.com/ashishkapoor/fintrack.git
cd fintrack
# Copy environment files
cp api/.env.example api/.env
cp web/.env.example web/.env
# Start the services
docker compose up --build
The application will be available at:
- Frontend: http://localhost:5173
- Backend API: http://localhost:8000
- API Docs: http://localhost:8000/api/docs/
- Clone the repository:
git clone https://github.com/ashishkapoor/fintrack.git
cd fintrack
- Setup API (Backend):
cd api
# Install poetry if not already installed
curl -sSL https://install.python-poetry.org | python3 -
# Install dependencies
poetry install
# Setup environment variables
cp .env.example .env
# Run migrations
poetry run python manage.py migrate
# Start the development server
poetry run python manage.py runserver
- Setup Web (Frontend):
cd web
# Install dependencies
pnpm install
# Setup environment variables
cp .env.example .env
# Start the development server
pnpm dev
# api/.env
DEBUG=True
SECRET_KEY=your_secure_secret_key
DATABASE_URL=postgres://user:password@localhost:5432/fintrack
ALLOWED_HOSTS=localhost,127.0.0.1
CORS_ALLOWED_ORIGINS=http://localhost:5173
# web/.env
VITE_API_URL=http://localhost:8000
cd api
poetry run python manage.py test
cd web
pnpm test
The API documentation is available at:
- Swagger UI: http://localhost:8000/api/docs/
- ReDoc: http://localhost:8000/api/redoc/
Contributions, issues, and feature requests are welcome!
Feel free to fork and submit a pull request.
MIT License Β© 2025 Sannty
FinTrack was built to give privacy-conscious users a simple but powerful way to manage their finances independently, free of subscription fees or vendor lock-in.
If you find FinTrack useful, consider giving a β on GitHub or sharing it with others!