Skip to content

yakormud/CS266

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

90 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Expense Tracker

Expense Tracker is a project developed for the CS266 course, aimed at team collaboration using agile methodologies along with extreme programming concept. This application is designed to manage and calculate personal finances, focusing on income and expenses. The project is a continuation and enhancement of a previous repository, here us the provided link for original repository.

Original Repository: Expense Tracker App

Overview

Expense Tracker assists users in tracking their financial transactions efficiently. Users can input their income and expenses, categorize transactions, and generate reports to gain insights into their spending patterns. This project aligns with the principles of agile development, emphasizing collaboration, adaptability, and iterative improvement.

Key Features

  • Transaction Management: Easily add, edit, and delete income and expense transactions.
  • Categorization: Group transactions into categories for better organization.
  • Reporting: Generate reports to visualize financial trends and analyze spending habits.
  • User-Friendly Interface: Intuitive design for a seamless user experience.

Getting Started

To use Expense Tracker, follow these steps:

  1. Clone the repository:
    git clone [repository-url]` 
    
  2. Install dependencies:
    npm install
    
  3. Run the application:
    npm run dev
    

Features added in our development cycles

In the development cycles, we plan to incorporate additional features and improvements based . Our focus includes expanding reporting capabilities, adding more features, and enhancing overall user experience.

Sprint 1: User Story Details and Functionality

Story 1: Add Date and Time to Transactions

Functionality: User can now add specific dates and times to each transaction. This enhancement ensures accurate recording of expense details, aligning them with the respective transaction dates.

Implementation:

  • Modified the transaction input to include date details with date validation.
  • Transitioned from local storage to MongoDB for improved data management.

Story 2: View Expense Details by Date

Functionality: Users can now view detailed expense information based on transaction dates. This feature enables users to explore their spending history on a day-to-day basis.

Implementation:

  • Introduced a feature to retrospectively view transaction history.
  • Stored historical data for up to one year from the current date.

us2_1

Story 3: Add Tags to Transactions

Functionality: Users have the ability to add tags to each transaction for better categorization and organization of expenses.

Implementation:

  • Implemented a tagging system to classify transactions.

us3_1

  • Introduced a dedicated page for managing tags.

Story 4: Search Expenses by Tag

Functionality: Users can search and filter expenses based on tags, providing a convenient way to track spending for specific categories.

Implementation:

  • Added a search function to filter expenses by tags.
  • Enhanced visibility into expenses associated with specific tags.

Sprint 2: Additional Features and UI Improvements

Story 5: Monthly Summary Charts by Tag

Functionality: Users can now access summary charts depicting monthly income and expenses categorized by tags. This feature facilitates a comprehensive overview of monthly financial activities.

Implementation:

  • Introduced charts summarizing income and expenses by tags.
  • Enhanced the ability to analyze monthly financial data.

Story 6: Identify Highest Spending Tags

Functionality: Users can identify which tags are associated with the highest spending, aiding in effective budget management.

Implementation:

  • Implemented a feature to highlight tags with the highest expenses.
  • Provided insights to help users manage their expenditures more efficiently.

Story 7: Toggle Between Light and Dark Mode

Functionality: Users can switch between light and dark mode to customize the display according to their preferences.

Implementation:

  • Introduced a toggle feature for users to switch between light and dark modes in all pages.
  • Enhanced user experience with customizable display options.