0% found this document useful (0 votes)
63 views3 pages

Personal Expense Tracker App Design Guide

Uploaded by

P.Hemanth Reddy
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
63 views3 pages

Personal Expense Tracker App Design Guide

Uploaded by

P.Hemanth Reddy
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Interview Assessment : Personal Expense Tracker

Problem Statement:

You are required to design and implement a personal expense tracker application. The
application should allow users to record their expenses, categorize them, and view
summaries of their spending habits. The system should manage user accounts, handle
expense entries, and provide useful insights into the user's expenses.

Requirements:

Basic Requirements:

1. Set up the Project:


- Initialize a [Link] project.
- Use a front-end framework of your choice (React, [Link], or Angular) for the
client-side application.
- Use MongoDB or another database to store user and expense information.

2. Core Features:
- User Management:
- Allow users to create an account and log in.
- Manage user sessions securely.

- Expense Management:
- Allow users to add new expense entries with the following details: `date`, `amount`,
`category`, and `description`.
- Allow users to view a list of their expenses.
- Allow users to edit or delete existing expense entries.

- Category Management:
- Allow users to categorize their expenses (e.g., food, transportation, entertainment).
- Provide default categories and allow users to create custom categories.

3. Summary and Insights:


- Provide a summary view that shows total spending for a given time period (e.g.,
daily, weekly, monthly).
- Display spending by category, allowing users to see which categories they spend the
most on.
4. High-Level Design:
- Design the architecture of the application, including the front-end, back-end,
and database.
- Provide a high-level overview of how data will flow through the system.

5. Error Handling:
- Handle errors appropriately and provide meaningful feedback to the user.

Advanced Features (If you find the above problem statement easier, try any one of the
following)

1. Graphs and Charts:


- Visualize spending data using graphs and charts (e.g., pie charts for category
spending, line charts for spending over time).

2. Recurring Expenses:
- Allow users to set up recurring expenses that are automatically added at
specified intervals (e.g., monthly rent).

3. Budgeting:
- Allow users to set budgets for different categories and notify them when they are
close to or have exceeded their budget.

4. Export and Import:


- Provide functionality to export expense data to CSV or other formats.
- Allow users to import expenses from a CSV file.

5. Multi-Currency Support:
- Allow users to record expenses in different currencies and provide currency
conversion features.
### Instructions for Candidates:

1. Fork the provided GitHub repository template or start from scratch.


2. Design the system architecture, including front-end, back-end, and database components.
3. Implement the required features as per the problem statement.
4. Ensure the code is well-documented and follows best practices.
5. Write unit tests for the core functionalities.
6. Deploy the application to a cloud service like Heroku, GitHub Pages, Vercel, or
Netlify (optional but a plus).
7. Submit the GitHub repository link along with a README file containing
instructions on how to run the project locally, an overview of the system design, and any
additional notes.

### Evaluation Criteria:

1. System Design and Architecture


2. Code Quality and Organization
3. Correctness and Completeness of the Implementation
4. Handling of Edge Cases and Errors
5. Testing and Documentation
6. Implementation of Optional Advanced Features (if any)
7. Deployment (optional but considered a plus)

Good luck!

You might also like