https://github.com/magnexis/expense-flow
๐ฐ ExpenseFlow โ Smart Expense & Finance Management built on Base44
https://github.com/magnexis/expense-flow
app dockerfile finance-management release
Last synced: about 5 hours ago
JSON representation
๐ฐ ExpenseFlow โ Smart Expense & Finance Management built on Base44
- Host: GitHub
- URL: https://github.com/magnexis/expense-flow
- Owner: magnexis
- Created: 2026-04-10T03:43:38.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2026-04-10T03:43:44.000Z (3 months ago)
- Last Synced: 2026-06-13T00:23:16.425Z (13 days ago)
- Topics: app, dockerfile, finance-management, release
- Language: Dockerfile
- Homepage: https://expense-flow.base44.app
- Size: 8.79 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README
# ๐ฐ ExpenseFlow







> Smart Expense & Finance Management โ a full-featured personal finance web app built on [Base44](https://base44.com).
๐ **Live Demo:** [expense-flow.base44.app](https://expense-flow.base44.app)
---
## ๐ Table of Contents
- [Overview](#overview)
- [Features](#features)
- [Tech Stack](#tech-stack)
- [Project Structure](#project-structure)
- [Pages & Routes](#pages--routes)
- [Entities](#entities)
- [Components](#components)
- [Settings Modules](#settings-modules)
- [Getting Started](#getting-started)
- [Docker](#docker)
- [Environment Variables](#environment-variables)
---
## Overview
ExpenseFlow is a production-ready personal finance dashboard that lets users track expenses, generate reports, create professional invoices, e-sign documents, and manage all their account settings โ all from a clean, modern UI.
---
## Features
| Feature | Description |
|---|---|
| ๐ **Dashboard** | Real-time overview of spending, budget progress, category charts, and recent expenses |
| ๐ธ **Expense Tracking** | Add, edit, delete, search, and filter expenses by category and date |
| ๐งพ **Receipt OCR** | Upload a receipt image and auto-extract date, amount & merchant with AI |
| ๐ **Budget Alerts** | Automatic email alerts at 80% and 100% of your monthly budget |
| ๐ **Reports** | Monthly spending trends, category breakdowns, and PDF export |
| ๐งพ **Invoices** | Create, send, and manage professional invoices with line items, tax, and discounts |
| โ๏ธ **E-Sign** | Upload documents, draw signatures on canvas, place/resize them, and download signed files |
| โ๏ธ **Settings** | 8-section settings panel: Profile, Security, Privacy, Notifications, Appearance, Preferences, Data, Connected Accounts |
---
## Tech Stack
- **Frontend:** React 18, Tailwind CSS, shadcn/ui, Lucide React, Recharts, Framer Motion
- **Backend:** Base44 (database, auth, integrations, backend functions via Deno)
- **PDF Generation:** jsPDF
- **Routing:** React Router v6
- **Data Fetching:** TanStack React Query
- **Canvas Signing:** HTML5 Canvas API
---
## Project Structure
```
โโโ pages/
โ โโโ Dashboard.jsx
โ โโโ Expenses.jsx
โ โโโ Reports.jsx
โ โโโ Invoices.jsx
โ โโโ ESign.jsx
โ โโโ Settings.jsx
โโโ components/
โ โโโ Layout.jsx
โ โโโ expenses/
โ โ โโโ ExpenseFormDialog.jsx
โ โ โโโ ExpenseTable.jsx
โ โ โโโ ReceiptUpload.jsx
โ โ โโโ BudgetProgress.jsx
โ โ โโโ CategoryChart.jsx
โ โโโ invoices/
โ โโโ esign/
โ โโโ settings/
โโโ entities/
โ โโโ Expense.json
โ โโโ Invoice.json
โโโ functions/
โ โโโ checkBudgetAlert.js
โ โโโ parseReceipt.js
โ โโโ setupGitHub.js
โโโ Dockerfile
โโโ docker-compose.yml
โโโ App.jsx
```
---
## Pages & Routes
| Route | Component | Description |
|---|---|---|
| `/` | `Dashboard` | Financial overview & KPIs |
| `/expenses` | `Expenses` | Full expense CRUD + receipt OCR |
| `/reports` | `Reports` | Charts & PDF reports |
| `/invoices` | `Invoices` | Invoice management |
| `/esign` | `ESign` | Document signing |
| `/settings` | `Settings` | Account settings hub |
---
## Entities
### `Expense`
| Field | Type | Required | Notes |
|---|---|---|---|
| `date` | string (date) | โ
| Date of expense |
| `description` | string | โ
| What it was for |
| `amount` | number | โ
| Expense amount |
| `category` | enum | โ | One of 11 categories |
| `notes` | string | โ | Additional details |
### `Invoice`
| Field | Type | Required | Notes |
|---|---|---|---|
| `invoice_number` | string | โ
| Unique invoice ID |
| `client_name` | string | โ
| Recipient name |
| `issue_date` | string (date) | โ
| Date issued |
| `due_date` | string (date) | โ
| Payment due date |
| `status` | enum | โ | Draft / Sent / Paid / Overdue / Cancelled |
---
## Getting Started
1. Sign up at [base44.com](https://base44.com)
2. Fork or import this app
3. Invite users via Base44 dashboard
4. Set environment variables if needed
---
## Docker
```bash
# Build and run with Docker Compose
docker compose up --build
# Or build manually
docker build -t expense-flow .
docker run -p 3000:80 expense-flow
```
The app will be available at `http://localhost:3000`.
---
## Environment Variables
| Variable | Required | Description |
|---|---|---|
| `SENDGRID_API_KEY` | Optional | Custom transactional emails via SendGrid |
Set in: **Base44 Dashboard โ Settings โ Environment Variables**
---
## License
MIT ยฉ ExpenseFlow