Managing personal finances is a challenge that most people face, often without a clear system in place. People rely on disorganized notes, spreadsheets, or fragmented mobile apps, making it difficult to get a unified view of their income and spending habits. TrackWise aims to solve this by providing a centralized, intuitive, and extensible web application where users can track their finances effectively.
This project is built using Angular 19 for the frontend and Node.js for the backend, following a modular, scalable structure. The app focuses on foundational features that allow manual tracking and sorting, accompanied by insightful data visualization.
Most individuals today lack a centralized, easy-to-use platform for managing their finances. With money being spent across cash, cards, and multiple services, users often:
● Lose track of where their money is going.
● Rely on scattered tools like notes and spreadsheets.
● Miss out on potential savings due to lack of visibility.
TrackWise addresses this relatable pain point by offering a structured financial tracking tool tailored to real-life usage.
● Provide a secure, user-friendly platform for recording and managing financial transactions.
● Allow full control over expenses and income records through CRUD operations.
● Visualize income and spending patterns in real-time using interactive dashboards.
● Display monthly income sources and expense categories through interactive charts.
To run the project locally with the local database:
npm run start:devTo run the project locally with the production database:
npm run start:prodTo deploy the application to Render:
npm run deployMake sure you've already created your migration files using:
npx sequelize-cli migration:generate --name create-expenses-tableTo run migrations in the local development environment:
npm run db:migrateTo run migrations in the production environment:
npm run db:migrate:prodTo undo the last migration in the local development environment:
npx sequelize-cli db:migrate:undoTo undo the last migration in the production environment:
NODE_ENV=production npx sequelize-cli db:migrate:undoTo undo all migrations in the local development environment:
npx sequelize-cli db:migrate:undo:allTo undo all migrations in the production environment:
NODE_ENV=production npx sequelize-cli db:migrate:undo:allTo populate your database with sample data (seeds).
To apply the seed data to the local development database:
npm run db:seedTo apply the seed data to the production database:
npm run db:seed:prodTo roll back the most recent seed in the local development database:
npm run db:seed:undoTo roll back the most recent seed in the production database:
npm run db:seed:undo:prodTo create the database in your environment (useful for first-time setup):
npm run db:createTo drop the existing database (useful when you need to reset):
npm run db:drop
● Purpose: Ensure that only registered users can securely access their personal financial data on TrackWise.
● Features:
- Secure Sign-Up and Login: Users can register and log in using validated forms, with backend API integration for authentication.
- JWT Session Management: Stores a JWT token and expiration timestamp in
localStorage, automatically logging users out after 1 hour. - Route Protection with Auth Guard: Sensitive pages like Dashboard, Profile, Income, and Expenses are restricted to authenticated users only.
● Purpose: Allow users to log, manage, and visualize their monthly expenses with clarity and control.
● Features:
- Complete CRUD Operations: Users can add, update, delete, and view their expenses, all integrated with secure backend APIs.
- Filtering by Month and Year: Enables users to filter expenses based on selected month and year for focused analysis.
- Visual Expense Insights: Displays a 12-month trend using a line chart and a category-wise breakdown with a pie chart for better financial understanding.
● Purpose: Enable users to track and manage all sources of income with full control and visibility.
● Features:
- Complete CRUD Operations: Users can add, edit, delete, and view income entries through secure, authenticated API calls.
- Filtering by Month and Year: Allows users to analyze income records based on specific time periods.
- Visual Income Insights: Includes a 12-month trend line chart and a source-wise income pie chart for real-time analysis.
● Purpose: Provide users with a centralized and dynamic overview of their financial activity, including income, expenses, and savings.
● Features:
- 12-Month Trend Graphs: Displays three line charts showing income, expenses, and savings trends over the past year.
- Current Month Breakdown: Includes two pie charts for category-wise breakdowns of income and expenses for the selected month.
- Dynamic Monthly Savings: Automatically calculates and displays total savings based on selected month.
- Month Navigation Controls: Allows users to easily switch between months to explore historical or upcoming financial data.
● Purpose: Allow users to create and manage their personal information, ensuring a personalized and consistent experience in TrackWise.
● Features:
- Basic and Optional Info: Users can enter essential details like name and date of birth, and update optional contact and address information anytime.
- Profile Completion Flexibility: Supports starting with minimal data and completing the profile later at the user’s convenience.
- Centralized User Identity: Maintains organized contact and location data for use across the application, enhancing personalization.













