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.
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 oflayout.tsx
layout files, and anindex.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 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.
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
-
🚧 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.