Expenz is a modern web application designed to help users track, analyze, and understand their financial activity with ease. It provides an intuitive dashboard showcasing income, expenses, budget and insight through an interactive chart. Two built-in demo accounts allow users to explore the full experience instantlyโno signup or data entry required. A dedicated FastAPI service powers CSV export functionality for income and expense records.
-
Instant Demo Access โ Log in with one of two demo accounts to explore the dashboard immediately.
-
Comprehensive Dashboard โ View total income, expenses, and budget summaries with dynamic data visualization.
-
Detailed Views โ Browse categorized income and expense entries.
-
CSV Export โ Export income and expense data directly via a FastAPI-powered backend.
-
Responsive Design โ Optimized for both desktop and mobile devices.
-
Smooth Loading Experience โ Skeleton loading states ensure a polished and fluid UX.
Next.jsReactshadcn/uilucide-reactframer-motiontailwindcssrechartszod
Neon Database(PostgreSQL)
FastAPIuvicorn
-
Clone the repository:
git clone https://github.com/dnmore/expenz-dashboard.git cd expenz-dashboard -
Install dependencies Frontend
cd frontend pnpm installPython Backend (CSV Export)
cd services/csv-export pip install -r requirements.txt -
Set up environment variables
- Create
.envfiles in the project root for both the frontend and backend, and define necessary variables (e.g., database connection string, API keys).
- Run the application
Start the frontend
cd frontend
pnpm run dev
Start the Python Backend
cd services/csv-export
uvicorn api.main:app --reload
- Access the application
Once both servers are running, open your browser and visit: http://localhost:3000.
Contributions are welcome! Please:
- Fork the repository.
- Create a new branch (
feature/your-feature-name). - Commit changes with clear messages.
- Submit a pull request.
This project is licensed under the MIT License.