{"id":51145336,"url":"https://github.com/magnexis/expense-flow","last_synced_at":"2026-06-26T02:04:01.026Z","repository":{"id":350379388,"uuid":"1206576530","full_name":"magnexis/expense-flow","owner":"magnexis","description":"💰 ExpenseFlow — Smart Expense \u0026 Finance Management built on Base44","archived":false,"fork":false,"pushed_at":"2026-04-10T03:43:44.000Z","size":9,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-13T00:23:16.425Z","etag":null,"topics":["app","dockerfile","finance-management","release"],"latest_commit_sha":null,"homepage":"https://expense-flow.base44.app","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/magnexis.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-10T03:43:38.000Z","updated_at":"2026-05-05T16:02:56.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/magnexis/expense-flow","commit_stats":null,"previous_names":["theworker02/expense-flow","magnexis/expense-flow"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/magnexis/expense-flow","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/magnexis%2Fexpense-flow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/magnexis%2Fexpense-flow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/magnexis%2Fexpense-flow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/magnexis%2Fexpense-flow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/magnexis","download_url":"https://codeload.github.com/magnexis/expense-flow/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/magnexis%2Fexpense-flow/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34799574,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-26T02:00:06.560Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["app","dockerfile","finance-management","release"],"created_at":"2026-06-26T02:03:53.114Z","updated_at":"2026-06-26T02:04:00.957Z","avatar_url":"https://github.com/magnexis.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 💰 ExpenseFlow\n\n![Version](https://img.shields.io/badge/version-v1.0.0-brightgreen?style=flat-square)\n![License](https://img.shields.io/badge/license-MIT-blue?style=flat-square)\n![Platform](https://img.shields.io/badge/platform-Base44-8b5cf6?style=flat-square)\n![React](https://img.shields.io/badge/React-18-61dafb?style=flat-square\u0026logo=react\u0026logoColor=white)\n![Tailwind CSS](https://img.shields.io/badge/Tailwind_CSS-3-38bdf8?style=flat-square\u0026logo=tailwindcss\u0026logoColor=white)\n![Recharts](https://img.shields.io/badge/Recharts-2-22c55e?style=flat-square)\n![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen?style=flat-square)\n\n\u003e Smart Expense \u0026 Finance Management — a full-featured personal finance web app built on [Base44](https://base44.com).\n\n🔗 **Live Demo:** [expense-flow.base44.app](https://expense-flow.base44.app)\n\n---\n\n## 📋 Table of Contents\n\n- [Overview](#overview)\n- [Features](#features)\n- [Tech Stack](#tech-stack)\n- [Project Structure](#project-structure)\n- [Pages \u0026 Routes](#pages--routes)\n- [Entities](#entities)\n- [Components](#components)\n- [Settings Modules](#settings-modules)\n- [Getting Started](#getting-started)\n- [Docker](#docker)\n- [Environment Variables](#environment-variables)\n\n---\n\n## Overview\n\nExpenseFlow 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.\n\n---\n\n## Features\n\n| Feature | Description |\n|---|---|\n| 📊 **Dashboard** | Real-time overview of spending, budget progress, category charts, and recent expenses |\n| 💸 **Expense Tracking** | Add, edit, delete, search, and filter expenses by category and date |\n| 🧾 **Receipt OCR** | Upload a receipt image and auto-extract date, amount \u0026 merchant with AI |\n| 🔔 **Budget Alerts** | Automatic email alerts at 80% and 100% of your monthly budget |\n| 📈 **Reports** | Monthly spending trends, category breakdowns, and PDF export |\n| 🧾 **Invoices** | Create, send, and manage professional invoices with line items, tax, and discounts |\n| ✍️ **E-Sign** | Upload documents, draw signatures on canvas, place/resize them, and download signed files |\n| ⚙️ **Settings** | 8-section settings panel: Profile, Security, Privacy, Notifications, Appearance, Preferences, Data, Connected Accounts |\n\n---\n\n## Tech Stack\n\n- **Frontend:** React 18, Tailwind CSS, shadcn/ui, Lucide React, Recharts, Framer Motion\n- **Backend:** Base44 (database, auth, integrations, backend functions via Deno)\n- **PDF Generation:** jsPDF\n- **Routing:** React Router v6\n- **Data Fetching:** TanStack React Query\n- **Canvas Signing:** HTML5 Canvas API\n\n---\n\n## Project Structure\n\n```\n├── pages/\n│   ├── Dashboard.jsx\n│   ├── Expenses.jsx\n│   ├── Reports.jsx\n│   ├── Invoices.jsx\n│   ├── ESign.jsx\n│   └── Settings.jsx\n├── components/\n│   ├── Layout.jsx\n│   ├── expenses/\n│   │   ├── ExpenseFormDialog.jsx\n│   │   ├── ExpenseTable.jsx\n│   │   ├── ReceiptUpload.jsx\n│   │   ├── BudgetProgress.jsx\n│   │   └── CategoryChart.jsx\n│   ├── invoices/\n│   ├── esign/\n│   └── settings/\n├── entities/\n│   ├── Expense.json\n│   └── Invoice.json\n├── functions/\n│   ├── checkBudgetAlert.js\n│   ├── parseReceipt.js\n│   └── setupGitHub.js\n├── Dockerfile\n├── docker-compose.yml\n└── App.jsx\n```\n\n---\n\n## Pages \u0026 Routes\n\n| Route | Component | Description |\n|---|---|---|\n| `/` | `Dashboard` | Financial overview \u0026 KPIs |\n| `/expenses` | `Expenses` | Full expense CRUD + receipt OCR |\n| `/reports` | `Reports` | Charts \u0026 PDF reports |\n| `/invoices` | `Invoices` | Invoice management |\n| `/esign` | `ESign` | Document signing |\n| `/settings` | `Settings` | Account settings hub |\n\n---\n\n## Entities\n\n### `Expense`\n| Field | Type | Required | Notes |\n|---|---|---|---|\n| `date` | string (date) | ✅ | Date of expense |\n| `description` | string | ✅ | What it was for |\n| `amount` | number | ✅ | Expense amount |\n| `category` | enum | ❌ | One of 11 categories |\n| `notes` | string | ❌ | Additional details |\n\n### `Invoice`\n| Field | Type | Required | Notes |\n|---|---|---|---|\n| `invoice_number` | string | ✅ | Unique invoice ID |\n| `client_name` | string | ✅ | Recipient name |\n| `issue_date` | string (date) | ✅ | Date issued |\n| `due_date` | string (date) | ✅ | Payment due date |\n| `status` | enum | ❌ | Draft / Sent / Paid / Overdue / Cancelled |\n\n---\n\n## Getting Started\n\n1. Sign up at [base44.com](https://base44.com)\n2. Fork or import this app\n3. Invite users via Base44 dashboard\n4. Set environment variables if needed\n\n---\n\n## Docker\n\n```bash\n# Build and run with Docker Compose\ndocker compose up --build\n\n# Or build manually\ndocker build -t expense-flow .\ndocker run -p 3000:80 expense-flow\n```\n\nThe app will be available at `http://localhost:3000`.\n\n---\n\n## Environment Variables\n\n| Variable | Required | Description |\n|---|---|---|\n| `SENDGRID_API_KEY` | Optional | Custom transactional emails via SendGrid |\n\nSet in: **Base44 Dashboard → Settings → Environment Variables**\n\n---\n\n## License\n\nMIT © ExpenseFlow\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmagnexis%2Fexpense-flow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmagnexis%2Fexpense-flow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmagnexis%2Fexpense-flow/lists"}