Written by: Emmalyn Foster
Last Updated: 4/23/2024
This project encompasses a task manager, including the ability to create, complete, edit, and delete tasks for certain categories. It also includes a to-do list feature for more general tasks, with the ability to create and delete as to-dos are completed.
This application will be implemented in Angular and Javascript, using HttpClient in the Frontend Service and an SQLite database.
A good resource for reference for the frontend is the CSXL website, which utilizes Angular.
CSXL Repository
Task Object File:- This creates the object model for storing individual tasks entries in the database.
- These will be organized by category
- Includes object services
To-do List Object File:- This creates the object model for storing more general to-do item entries in the database.
- Includes object services
- Corresponding services encapsulated within the object for creating, adding, deleting, getting, and updating each entry as mentioned.
- Corresponding APIs for calling backend services.
- UI:
- Singular page for displaying tasks by category
- To-do list widget to be displayed on this page
- Widgets for displaying each task card by category
- Any necessary routing
More details on requirements in Issues
For the purpose of this project, main will remain a protected branch. It should only be merged into if the corresponding subtask branch is completely functional, or risk damaging the health of the codebase. To help prevent this, subtasks branches will be pre-determined for each issue. Work-in-progress (WIP) branches will be created by every individual working on said subtask branch, with the subtask branch as the parent branch. After each feature is implemented, a Pull Request will be made for other team members to view and approve before a merge is made. It is also good practice to squash and merge and delete the WIP branch when merging.
Try not to merge Pull Requests yourself!
It is also important to have consistent naming to keep track of workflow.
For example, if there is a branch subtask-1, a good name would look like: subtask1-wip-my-name-feature
Feature could mean any aspect of that subtask you are currently working on, but most likely not necessary if you are working on the entire subtask, given it is a small one.

