A comprehensive personal finance management system that allows users to track their financial health, manage accounts and transactions, set budgets and goals, and monitor progress toward financial independence.
This project implements a comprehensive personal finance management system that allows users to connect to various financial data sources, process and extract financial details, and visualize their financial health through an interactive dashboard. The system provides insights into income, expenses, cash flow, net worth, investments, and key performance indicators (KPIs).
The application follows a modern three-tier architecture:
- Frontend: React.js with Material-UI, Redux, and Chart.js
- Backend: Node.js with Express, RESTful API design
- Database: PostgreSQL with Sequelize ORM
- Dashboard: Comprehensive financial dashboard with key metrics
- Account Management: Add, edit, and track financial accounts
- Transaction Management: Record and categorize income and expenses
- Budget Management: Create and monitor spending budgets
- Goal Tracking: Set and track financial goals
- Investment Tracking: Monitor investment performance and allocation
- Financial Independence Calculator: Track progress toward financial independence
- Reports and Analytics: Generate financial reports and insights
- Data Import/Export: Upload statements and export data
- Node.js 18.x or higher
- PostgreSQL 14.x or higher
- Nginx (for production deployment)
-
Clone the repository:
git clone https://github.com/binti59/FinanceManager.git cd FinanceManager -
Install backend dependencies:
cd backend npm install -
Configure environment variables:
cp .env.example .env # Edit .env file with your configuration -
Run database migrations:
npx sequelize-cli db:migrate
-
Start the backend server:
npm run dev
-
Install frontend dependencies:
cd ../frontend npm install -
Configure frontend environment:
cp .env.example .env # Edit .env file with your configuration -
Start the frontend development server:
npm start
For production deployment, use the provided installation script:
chmod +x scripts/install.sh
sudo ./scripts/install.shThe script will guide you through the installation process, including:
- System updates and required packages
- Node.js, PostgreSQL, Nginx, and PM2 installation
- Database setup and configuration
- Application deployment
- Nginx configuration and SSL setup
- Backup and monitoring setup
To remove the application, use the provided uninstallation script:
chmod +x scripts/uninstall.sh
sudo ./scripts/uninstall.shThis project is licensed under the MIT License - see the LICENSE file for details.
- Material-UI for the UI components
- Chart.js for data visualization
- Sequelize for database ORM
- Express for the backend framework
- React for the frontend framework