Skip to content

This project was developed as part of EECS 1012 (Net-Centric Computing) at York University, with a focus on front-end web development, user interaction, and client-side logic using JavaScript.

License

Notifications You must be signed in to change notification settings

KaashDev/TrackFi

Repository files navigation

dashboard.png

TrackFi is a full-stack personal finance tracking web application that helps users manage income, expenses, and spending categories through a clean and interactive interface. The app allows users to add, edit, delete, and filter transactions while automatically calculating balances and summaries in real time.

TrackFi was built as part of EECS 1012 – Net-Centric Computing at York University, with an emphasis on front-end interaction, backend API design, and basic software testing.

Version

  • Web-based application
  • Frontend & Backend architecture
  • Runs locally using Node.js and Express

Features

  • User login (name-based session)
  • Add income and expense transactions
  • Category-based expense tracking
  • Edit and delete transactions via modal UI
  • Automatic calculation of total income, expenses, and balance
  • Category filtering and transaction summaries
  • Client-side persistence using localStorage
  • REST-style backend API for transactions and statistics
  • Unit tests for core logic using Vitest

Tech Stack

Frontend

  • HTML5
  • CSS3 (responsive design)
  • JavaScript (DOM manipulation, event handling)

Backend

  • Node.js
  • Express.js (REST API)

Testing

  • Vitest (unit tests for validation, totals, and stats)

Getting Started

git clone https://github.com/KaashDev/TrackFi.git
cd TrackFi

Running the Application

Option 1: Frontend Only

  • Open index.html directly in your browser.
  • Transactions will be stored locally using localStorage.

Option 2: Full Stack (Recommended)

npm install
node server.js

Then open:

http://localhost:3000

This enables backend API routes for transaction management and statistics.

API Overview (Backend)

GET /transactions – Get all transactions
POST /transactions – Add a new transaction
PUT /transactions/:id – Update a transaction
DELETE /transactions/:id – Delete a transaction
DELETE /transactions/reset – Reset all data
GET /category/:category – Filter by category
GET /stats – Get financial summaries

Testing

Run unit tests using:

npm test

Tests cover:

  • Balance and total calculations
  • Input validation
  • Transaction validation logic
  • Statistics aggregation

Build With

Credits

This project was developed by Kaash Dev Seetohul as part of EECS 1012 at York University.

About

This project was developed as part of EECS 1012 (Net-Centric Computing) at York University, with a focus on front-end web development, user interaction, and client-side logic using JavaScript.

Resources

License

Stars

Watchers

Forks