[go: up one dir, main page]

Skip to content

lindenquan/don

Repository files navigation


Don Logo


Don CI Cloudflare Pages Codecov License



Personal Financial Management App

Table of Contents

Tech stack

pNpm: Fast, disk space efficient package manager

Release Please: Release Please automates CHANGELOG generation, the creation of GitHub releases, and version bumps for your projects.

Husky: Auto run lint, unit tests, build before commit.

SolidJS: Simple and performant reactivity for building user interfaces.

Vite: Frontend Tooling. It uses Rollup and esbuild internally for bundling

Vitest: Testing Framework.

Project Structure

This project is using Qwik with QwikCity. QwikCity is just an extra set of tools on top of Qwik to make it easier to build a full site, including directory-based routing, layouts, and more.

Inside your project, you'll see the following directory structure:

├── public/
│   └── ...
└── src/
    ├── components/
    │   └── ...
    └── routes/
        └── ...
  • src/routes: Provides the directory-based routing, which can include a hierarchy of layout.tsx layout files, and an index.tsx file as the page. Additionally, index.ts files are endpoints. Please see the routing docs for more info.

  • src/components: Recommended directory for components.

  • public: Any static assets, like images, can be placed in the public directory. Please see the Vite public directory for more info.

Development

Development mode uses Vite's development server. The dev command will server-side render (SSR) the output during development.

pnpm start

Note: during dev mode, Vite may request a significant number of .js files. This does not represent a Qwik production build.

Production

The production build will generate client and server modules by running both client and server build commands. The build command will use Typescript to run a type check on the source code.

pnpm build

Roadmap

  • 🚧 TODO Account Aggregation

    • Link multiple bank accounts, credit cards, loans, and investment accounts.
    • Real-time synchronization of balances and transactions.
  • 🚧 TODO Expense Tracking

    • Automatically categorize transactions (e.g., groceries, entertainment, utilities) by taking pictures of receipts.
    • Manual entry of expenses and transactions.
    • Support for splitting transactions (e.g., shared bills).
    • Tagging expenses for more personalized tracking (e.g., vacations, business).
  • 🚧 TODO Income Tracking

    • Record and categorize income (salary, freelance, dividends, etc.).
    • Monitor recurring income streams and one-time payments.
    • Integration with payroll systems and tax tracking for income insights.
  • 🚧 TODO Bill Management

    • Add and track recurring bills (rent, utilities, subscriptions, etc.).
    • Bill reminders and notifications (upcoming due dates).
    • Ability to set up autopay or mark bills as paid.
  • 🚧 TODO Investment Tracking

    • Link investment accounts and track portfolio performance.
    • Track asset allocations (stocks, bonds, mutual funds, etc.).
    • Monitor net worth based on assets and liabilities.
    • Portfolio diversification and investment insights.
  • 🚧 TODO Debt Management

    • Track loans (student loans, mortgages, credit card debt).
    • Payment reminders and automated debt payoff plans (e.g., debt snowball, debt avalanche).
    • Interest calculation and amortization schedules.
  • 🚧 TODO Financial Insights & Reports

    • Visualize monthly cash flow (income vs. expenses).
    • Detect trends in cash flow patterns (e.g., surpluses, deficits).
    • Forecast future cash flow based on current spending patterns.
    • Generate monthly, quarterly, and annual financial reports.
    • Provide insights into spending patterns, income trends, and savings performance.
    • Track overall net worth based on assets (bank balances, properties) and liabilities (debts, loans).
    • Historical data visualization to track net worth growth or decline.
  • 🚧 TODO Credit Score Monitoring

    • Link with credit score agencies to monitor and report credit scores.
    • Provide insights on how to improve the credit score.
    • Offer alerts for changes in credit reports.
  • 🚧 TODO Alerts & Notifications

    • Customizable alerts for various financial events (e.g., low balance, overspending, bill due).
    • Notifications for account changes, suspicious activity, or significant financial milestones.
    • Weekly or monthly summaries of financial activities.
  • 🚧 TODO Security Features

    • Bank-level encryption to protect sensitive data.
    • Biometric login (fingerprint, face ID).
    • Automatic logout after a period of inactivity.