{"repo":"NHasan143/monthly-expenses-tracker","free":true,"listed":false,"github":"https://github.com/NHasan143/monthly-expenses-tracker","clone":"git clone https://github.com/NHasan143/monthly-expenses-tracker.git","description":"A Python Flask web app for tracking monthly income and expenses — featuring a dark admin dashboard, category charts, CSV export, and local JSON storage.","language":"Python","stars":12,"topics":["expense-manager","expense-tracker","finance-management","financial-calculator","python","budget-tracker","chart-js","flask","personal-finance","personal-finance-tracker"],"license":"MIT","category":"dashboards-admin","readme_excerpt":"💰 Monthly Expenses Tracker (Flask Web App) A clean, modern web dashboard to track monthly income and expenses — built with Flask and local JSON storage. --- 📌 Overview Monthly Expenses Tracker (Web) is a Flask-based web application that provides a modern admin dashboard for managing monthly budgets. It is a full migration of the original Python CLI tool into a browser-based interface — no databases or external services required. This project demonstrates: - Flask web application structure (Blueprint, app factory pattern) - Jinja2 templating with a shared base layout - File-based data persistence (JSON) - Separation of concerns: routes, data logic, templates, and static assets --- ✨ Features - 📊 Live dashboard with stat cards and a spending doughnut chart - ➕ Add, edit, and delete expenses via modal forms - 🗂️ Category-based spending breakdown with progress bars - 💰 Savings rate calculation - 📥 Export full summary to CSV - ⚙️ Settings page to update salary and reset all data - 🎨 Dark theme UI with no external CSS framework dependencies --- 🧰 Tech Stack Used - Backend: Python, Flask 3.0+ - Templating: Jinja2 - Frontend: HTML5, CSS3, Vanilla JavaScript - Charts: Chart.js (CDN) - Data Storage: JSON (local filesystem) --- 🚀 Getting Started (Local Setup) 🛠️ Prerequisites - Python 3.8+ installed 📦 Installation --- ▶️ Usage Run the development server: Then open your browser and go to: ⚠️ If port 5000 is in use change the port in run.py : --- 🗂️ Project Structure --- 💾 Da","default_branch":null,"files":null,"tree":[],"storefront":"/r/NHasan143","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/NHasan143/monthly-expenses-tracker/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}