MoneyMate is a simple, web-based personal finance tracker that helps users log income and expenses, set budgets, and track savings goals. Built with Flask and styled with a feminine, pink-themed design, MoneyMate is ideal for individuals who want an intuitive and elegant way to manage their finances.
- Features
- Project Structure
- Technologies Used
- Setup Instructions
- Usage Guide
- Styling
- Troubleshooting
- Contributing
- License
- Log Income: Easily record income entries with amount and description.
- Log Expenses: Track expenses by amount, category, and description.
- Set Budgets: Define budgets for spending categories and monitor spending against set limits.
- Set Savings Goals: Set and track progress toward specific financial goals with customs goal names and targets.
- View Financial Summary: Get an overview of total income, total expenses, budget usage, and savings goal progress.
The home page welcomes users with an inviting message and simple navigation to all major features.
Users can record their income streams with descriptions to track all sources of income effectively.
The summary page provides an overview of total income, expenses, and savings goals, along with a colorful pie chart to visualize spending by category.
MoneyMate/
│
├── app.py # Main Flask application file
├── moneymate_data.json # JSON file for data storage
├── templates/ # HTML templates folder
│ ├── index.html # Homepage
│ ├── log_income.html # Log income page
│ ├── log_expense.html # Log expense page
│ ├── set_budget.html # Set budget page
│ ├── set_goal.html # Set savings goal page
│ └── summary.html # Financial summary page
└── static/ # Static files folder
└── style.css # CSS file for styling
- Backend: Flask (Python)
- Frontend: HTML, CSS
- Data Storage: JSON file (
moneymate_data.json) - Styling: Google Fonts (Playfair Display), Custom CSS
- Python 3.x is required. Install Python from python.org if you haven’t already.
- pip (Python package manager) should be installed along with Python.
git clone https://github.com/your-username/MoneyMate.git
cd MoneyMateInstall Flask using pip:
pip install flaskStart the Flask server by running:
python app.pyYou should see output indicating that the Flask server is running, with a message like this:
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
In your web browser, navigate to http://127.0.0.1:5000 to access the MoneyMate app.
On the homepage, you’ll find links to navigate through different functionalities:
- Log Income
- Log Expense
- Set Budget
- Set Savings Goal
- View Summary
Use this page to record income entries. Enter the amount and an optional description, then submit to save the entry.
Record expenses by entering the amount, category (e.g., Food, Transport), and an optional description. Submit to save the entry.
Define spending limits for different categories. Specify a category and the budget amount, then submit to save.
Set financial goals by entering a goal name and target amount. Track your savings progress over time.
Get an overview of your financial status, including:
- Total income and expenses
- Expenses by category
- Budget usage for each category
- Savings goals progress
MoneyMate features a pink-themed, feminine design with the Playfair Display font. All styling is handled in static/style.css. To customize the look and feel, modify this CSS file as needed.
If you encounter issues, try these steps:
- Ensure Flask is installed:
pip install flask - Restart the Flask server after making code changes.
- Clear your browser cache or try opening the site in an incognito window.
Contributions are welcome! To contribute:
- Fork the repository.
- Create a feature branch:
git checkout -b feature-branch-name. - Commit your changes:
git commit -m "Add new feature". - Push to the branch:
git push origin feature-branch-name. - Open a pull request.
This project is licensed under the MIT License.
- ** Updated README.md**: https://github.com/ksu-is/MoneyMate/commit/cdf5aa42f357e53c6e534429037b7296305f9ca5


