{"id":30604105,"url":"https://github.com/syaagalib/money-flow","last_synced_at":"2026-04-11T09:41:28.216Z","repository":{"id":312315832,"uuid":"1047090529","full_name":"SYAAGalib/money-flow","owner":"SYAAGalib","description":"A money management app in Django. Only built for university project showcase in Database Managements System. The main purpose was to complete CRUD operation. It is a very basic app. You can clone it or use it how you may see fit. But only I don't recommend to use it for unethical perpose.","archived":false,"fork":false,"pushed_at":"2025-08-29T18:47:33.000Z","size":288,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-29T20:51:00.605Z","etag":null,"topics":["css","django","html","js","python","sqlite","tailwindcss"],"latest_commit_sha":null,"homepage":"","language":"HTML","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/SYAAGalib.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"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":"2025-08-29T18:13:42.000Z","updated_at":"2025-08-29T18:47:36.000Z","dependencies_parsed_at":"2025-08-29T20:51:04.431Z","dependency_job_id":"811d3cd1-6747-45af-85cb-7b70930246bd","html_url":"https://github.com/SYAAGalib/money-flow","commit_stats":null,"previous_names":["syaagalib/money-flow"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/SYAAGalib/money-flow","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SYAAGalib%2Fmoney-flow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SYAAGalib%2Fmoney-flow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SYAAGalib%2Fmoney-flow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SYAAGalib%2Fmoney-flow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SYAAGalib","download_url":"https://codeload.github.com/SYAAGalib/money-flow/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SYAAGalib%2Fmoney-flow/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272789355,"owners_count":24993265,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-29T02:00:10.610Z","response_time":87,"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":["css","django","html","js","python","sqlite","tailwindcss"],"created_at":"2025-08-30T01:13:44.185Z","updated_at":"2026-04-11T09:41:23.180Z","avatar_url":"https://github.com/SYAAGalib.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# 💸 MoneyFlow\nSimple personal money tracker built with **Django + Tailwind (CDN) + SQLite**. Fast to spin up, pleasant to use, easy to extend.\n\n\u003c/div\u003e\n\n## Why this exists\nI wanted a tiny finance tool that gives me: a quick glance at income vs expense, frictionless transaction entry, dark mode that sticks, and zero build tooling. MoneyFlow is intentionally minimal but structured so you can grow it (exporting, reports, richer analytics, etc.).\n\n## Core Features\n| Area | What you get |\n|------|--------------|\n| Auth | Register, login, logout, password reset (console backend for now) |\n| Dashboard | Income / Expense / Balance KPIs + recent transactions |\n| Transactions | Create, edit, delete; filter by type, date range, category; search notes/category |\n| Categories | Starter defaults (Salary, Food, Rent, etc.) + add your own |\n| UI / UX | Mobile‑friendly, dark/light theme toggle (persists), responsive nav, accessible forms |\n| Styling | Tailwind via CDN, gradient summary cards, status badges |\n| Other | Pagination, session + localStorage theme cohesion |\n\n## Quick Start\n```bash\n# 1. Create \u0026 activate a virtual environment (using uv)\nuv venv .venv\nsource .venv/bin/activate\n\n# 2. Install dependencies\nuv pip install -r requirements.txt\n\n# 3. Apply migrations\npython manage.py migrate\n\n# 4. Run the dev server\npython manage.py runserver 127.0.0.1:8000\n```\nOpen: http://127.0.0.1:8000/\n\nOptional admin user:\n```bash\npython manage.py createsuperuser\n```\nAdmin: http://127.0.0.1:8000/admin/\n\n## Project Layout (essentials)\n```\nmoneyflow/\n\tmoneyflow/settings.py      ← configuration\n\tcore/\n\t\tmodels.py                ← Category, Transaction\n\t\tforms.py                 ← Registration, Transaction, Category, styled auth\n\t\tviews.py                 ← dashboard, CRUD, profile, about, login view\n\t\ttemplatetags/            ← optional custom filters (currently unused)\n\ttemplates/\n\t\tbase.html                ← layout, nav, theme script\n\t\tregistration/            ← auth templates\n\t\tcore/                    ← dashboard, transactions, profile, etc.\n```\n\n## Data Model\n| Model | Key Fields | Notes |\n|-------|------------|-------|\n| Category | name, user (nullable), is_default | Default rows are global; user rows are personal |\n| Transaction | user, type (income/expense), category, amount, date, notes | Ordered newest first |\n\n## Theme Logic\nUser toggles theme → class stored in session + localStorage. On load, the server injects current theme, then client script ensures consistency. No FOUC for most scenarios.\n\n## Password Reset\nUses Django console email backend: click “Forgot password?”, then read the terminal output for the reset link.\n\n## Roadmap Ideas\nSmall, safe improvements you can tackle next:\n1. CSV export of filtered transactions\n2. Basic test suite (auth, CRUD, filters)\n3. Tailwind build (PurgeCSS) for production footprint\n4. Category edit \u0026 delete\n5. Monthly summary / simple charts\n6. Docker + Gunicorn + whitenoise setup\n\n## Production Hardening Checklist\n- Set `DEBUG = False`\n- Rotate `SECRET_KEY` → use env var\n- Add real email backend (SMTP / provider)\n- Serve static files (whitenoise or CDN)\n- Enforce HTTPS (proxy headers, `SECURE_*` settings)\n- Add CSP / security headers\n- Database backup \u0026 monitoring plan\n\n## Contributing / Extending\nFork it, add a feature (e.g., export, charts, budgets), open a PR or keep it personal. Keep UI changes consistent: utility classes + minimal custom CSS.\n\n### Adding a dependency\nAdd the package with uv, then freeze requirements:\n```bash\nuv pip install \u003cpackage\u003e\nuv pip freeze \u003e requirements.txt\n```\n\n## License\nMIT (add LICENSE file if distributing publicly).\n\n---\nBuilt for quick personal finance tracking. Tweak it to match how you think about money.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsyaagalib%2Fmoney-flow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsyaagalib%2Fmoney-flow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsyaagalib%2Fmoney-flow/lists"}