Internship Assignment: Personal Finance Tracker
Assignment Title: Build a Basic Task Management System
Objective
Develop a simple Task Management System that allows users to create, view, update, and delete
tasks. The system should focus on core CRUD operations, usability, and efficient code structure.
Requirements
1. Backend:
- Use Python (Flask/FastAPI) or Node.js to create a RESTful API with endpoints for:
- Creating a new task (title, description, due date, status).
- Viewing all tasks.
- Updating an existing task.
- Deleting a task.
- Tasks should be stored in an SQLite database for simplicity.
2. Frontend:
- Build a minimal UI using HTML/CSS/JavaScript or a lightweight framework like React.
- Features should include:
- A form to create a new task.
- A list view to display all tasks.
- Edit and delete buttons for each task.
- Filters to view tasks by status (e.g., Pending, Completed).
3. Additional Features (Optional for Extra Credit):
- Add a status change feature with a toggle between Pending and Completed.
Page 1
Internship Assignment: Personal Finance Tracker
- Include basic error handling (e.g., validation for empty fields).
- Add a confirmation prompt before deleting a task.
Guidelines for Completion
1. Day 1:
- Set up the backend and database.
- Implement API endpoints for CRUD operations.
- Test the backend using tools like Postman or Curl.
2. Day 2:
- Build the frontend interface for task creation and display.
- Integrate the frontend with the backend API.
3. Day 3:
- Add task editing and deletion features.
- Polish the UI for better user experience.
- Test all features and fix any bugs.
Submission Requirements
1. Submit the complete project code in a GitHub repository with a clear README.md.
2. Include instructions to set up and run the project locally.
3. (Optional) Record a short demo video showing the app's functionality.
Evaluation Criteria
1. Functionality: Does the app support all required CRUD operations?
2. Code Quality: Is the code clean, modular, and well-documented?
Page 2
Internship Assignment: Personal Finance Tracker
3. User Interface: Is the interface intuitive and functional?
4. Completion: Are all requirements met within the given time?
Page 3