The Personal Finance Management Application is a web-based tool designed to help users track their income, expenses, and savings goals. The application provides a comprehensive set of features for managing finances effectively, including expense tracking, budget management, savings goal tracking, transaction analysis, and financial health assessment.
- Expense Tracking: Categorize and track expenses, including recurring bills, one-time purchases, and discretionary spending.
- Budget Management: Set budget limits for different expense categories and receive notifications when predefined thresholds are exceeded.
- Savings Goal Tracking: Set savings goals and track progress over time, with visual indicators and milestone notifications.
- Transaction Analysis: Gain insights into spending patterns and trends through interactive charts and graphs.
- Financial Health Assessment: Receive general recommendations and tips to improve financial literacy, manage debt, and optimize savings.
- Secure Data Storage: Encrypt and store user financial data securely to protect privacy and prevent unauthorized access.
- Expense Reminders and Alerts: Implement reminders and alerts to notify users of upcoming bill payments, due dates, and budget milestones.
- Customizable Reporting: Generate customized financial reports, export data to spreadsheets, and analyze financial history.
- Integration with Financial Institutions: Explore options for integrating with banks and financial institutions to automate transaction imports and account reconciliation.
- Clone the Repository:
git clone https://github.com/yourusername/expense-tracker.git - Install Dependencies:
npm install - Run the Application:
npm run dev - Access the Application: Open your web browser and navigate to
http://localhost:5173
The application can be deployed on a cloud platform such as Vercel, Netlify, or Heroku for easy access by users. Ensure that environment variables for sensitive information (e.g., database credentials) are properly configured before deployment.
- README: Provides setup instructions, dependencies, and an overview of the project.
- Code Comments: Ensure code comments are included to explain the functionality of different components and modules.
- Function/Module Descriptions: Provide descriptions for functions and modules to facilitate understanding and maintainability.
- Adherence to project requirements.
- Cleanliness and organization of code.
- UI/UX design and usability.
- Implementation of language and OpenAI features.
| Field | Type | Default | Required | Description |
|---|---|---|---|---|
| password | String | true | User's password | |
| name | String | true | User's name | |
| age | Number | true | User's age | |
| gender | String | true | User's gender | |
| profilePhoto | String | URL of user's profile photo | ||
| String | true | User's email | ||
| userId | String | User ID | ||
| username | String | User's username | ||
| phone | String | User's phone number | ||
| profession | String | "Other" | User's profession | |
| annualIncome | Number | true | User's annual income | |
| expenses | Array of mongoose ObjectIds | Expenses associated with the user | ||
| spentLimit | Number | 1000 | User's spending limit | |
| loanedFromLimit | Number | 1000 | User's limit for loans given to others | |
| loanedToLimit | Number | 1000 | User's limit for loans received from others | |
| activeNotifications | Array | Active notifications for the user | ||
| timestamps | Boolean | true | Automatically generated timestamps |
| Field | Type | Default | Required | Description |
|---|---|---|---|---|
| userId | ObjectId (Reference to User) | true | ID of the user associated with the expense | |
| amount | Number | Amount of the expense | ||
| date | String | Date of the expense | ||
| title | String | Title of the expense | ||
| category | String | Category of the expense | ||
| subCategory | String | Subcategory of the expense | ||
| type | String (Enum) | Type of expense (Spent, Earned, Loaned, etc.) | ||
| friendName | String | Name of the friend involved in the transaction |
Contributions to the project are welcome! Please follow the Contribution Guidelines for more information.
This project is licensed under the MIT License.