Your personal finance co-pilot, built from scratch with Flutter & Node.js.
A modern and intuitive financial tracker application designed to help users manage their income and expenses effortlessly. This full-stack project features a secure backend API and a smooth, responsive cross-platform mobile application.
- 🔐 Secure Authentication: Full user login and registration system with JWT.
- 💸 Transaction Management: Easily add, edit, and delete income/expense records.
- 🎨 Smart Categories: Comes with a default set of categories with unique, programmatically generated icons and colors.
- 📊 Insightful Reports: Interactive Pie and Bar charts to visualize spending habits and monthly trends.
- 🌓 Dark & Light Themes: Beautifully crafted themes that automatically adapt to your system settings.
- ⚙️ Advanced Settings: Includes a dynamic theme selector and a secure change password feature.
- 👆 Intuitive UX: Features like swipe-to-delete, informative empty states, and a smooth user flow.
- 🐳 Dockerized Backend: The backend is containerized with Docker for easy deployment and scalability.
- Frontend: Flutter, Provider (State Management)
- Backend: Node.js, Express.js
- Database: MariaDB
- Authentication: JWT (JSON Web Tokens), bcrypt
- Deployment: Docker
This project is a monorepo containing both the backend and frontend applications.
- Node.js & NPM
- Flutter SDK
- MariaDB Server
- Docker
- Navigate to the
backend
directory:cd backend
- Install dependencies:
npm install
- Create a
.env
file and fill in your database credentials (see.env.example
). - Run the server:
npm run dev
- Navigate to the
frontend
directory:cd frontend
- Install dependencies:
flutter pub get
- Update the API endpoint in
lib/src/services/api_service.dart
if needed. - Gaskeun!
flutter run
Contributions, issues, and feature requests are welcome! Feel free to check the issues page.
This project is licensed under the MIT License - see the LICENSE file for details.