A comprehensive family finance tracking application built with React (frontend) and Flask (backend). Track expenses, incomes, and plan monthly budgets for your entire family.
- Multi-account Income & Expense Tracking
- Categorized transactions
- Family member association
- Recurring transaction support
- Detailed transaction history
- AI-powered transaction categorization
- Family System
- Create and manage family groups
- Invite family members
- Role-based access control
- Profile management with image upload
-
Income vs Expenses Timeline
- Interactive line charts using Recharts
- Daily, weekly, monthly, and yearly views
-
Category Distribution
- Pie charts showing expense distribution
- Color-coded categories with icons
-
Family Member Analysis
- Individual spending patterns
- Income contribution tracking
-
Daily Patterns
- Average spending by day of week
- Spending trend analysis
-
Budget Setting
- Expected income and expense planning
- Category-wise budget allocation
- Family member budget assignment
-
Progress Tracking
- Real-time budget vs actual comparison
- Visual progress indicators
- Variance analysis
-
Filtering & Search
- Multi-criteria search
- Date range filtering
- Category and family member filters
-
Grouping Options
- Group by category
- Group by date
- Group by family member
-
Framework
- React 18.2.0
- Vite.js (build tool)
-
UI Components & Styling
- TailwindCSS
- Lucide React (icons)
- Custom components
-
State Management
- React Hooks
- Context API
- Local Storage
-
Data Visualization
- Recharts library
-
Framework
- Flask
- SQLAlchemy (ORM)
- Flask-JWT-Extended (Authentication)
- Flask-Mail (Email notifications)
-
Database
- SQLite (development)
- PostgreSQL (production)
-
AI Integration
- Custom AI routes for transaction analysis
- Category prediction
frontend/
├── src/
│ ├── components/ # Reusable UI components
│ ├── pages/ # Main application pages
│ ├── redux/ # State management
│ ├── services/ # API services
│ └── utils/ # Helper functions
├── public/ # Static assets
└── package.json # Dependencies
backend/
├── ai/ # AI-related functionality
├── routes/ # API route handlers
├── static/ # Static files & uploads
├── app.py # Main application file
├── config.py # Configuration
├── models.py # Database models
└── requirements.txt # Python dependencies
- Python 3.8+
- Node.js 16+
- npm or yarn
- Git
- Create and activate virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- Install dependencies
cd backend
pip install -r requirements.txt- Set up environment variables
cp .env.template .env
# Edit .env with your configurations- Initialize database
flask db upgrade- Run development server
flask run- Install dependencies
cd frontend
npm install- Set up environment variables
cp .env.example .env
# Edit .env with your configurations- Run development server
npm run dev- POST
/api/auth/register- User registration - POST
/api/auth/login- User login - POST
/api/auth/logout- User logout
- GET
/api/user/profile- Get user profile - PUT
/api/user/profile- Update user profile - POST
/api/user/profile/image- Upload profile image
- POST
/api/family/create- Create new family - POST
/api/family/invite- Invite member - POST
/api/family/join- Join family - GET
/api/family/members- List family members
- GET
/api/transactions- List transactions - POST
/api/transactions- Add transaction - PUT
/api/transactions/<id>- Update transaction - DELETE
/api/transactions/<id>- Delete transaction
- GET
/api/monthly-plans/<month>- Get monthly plan - POST
/api/monthly-plans/<month>- Save monthly plan
- GET
/api/categories- List categories - POST
/api/categories- Add category - PUT
/api/categories/<id>- Update category - DELETE
/api/categories/<id>- Delete category
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Create a new Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.