Specification
Requirements
Solution
Build a todo list application, that allows a user to
- create new tasks,
- assign them a title,
- assign them a due date,
- choose a project for that task belong to,
- edit tasks,
- mark tasks as done,
- remove tasks,
- quit and save the current task list to file,
- restart the application with the former state restored.
The solution must achieve the following requirements
- model a task with a task title, due date, status and project,
- display a collection of tasks that can be sorted both by date and project,
- support the ability to add, edit, mark as done, and remove tasks,
- support a text-based user interface,
- load and save task list to file,
- other creative features.
Implemented according to UML diagram within MVC pattern with Interface to establish JDBC connection with local MySQL database named IP.
- Model
- classes to represent task and project used in application
- register containing list of existing tasks and projects together with applicable methods
- View
- printer of prepared popups to the screen
- Controller
- controllers to control the main flow of the application, as well as flow of parts for tasks and projects
- popups builders to prepare popups according to the requirements and application flow
- message builders to prepare messages, that will appear in popups
- validator, that controls dates entered by user
- Interface
- connector to establish connection with local database
- controller to controll the flow of quering against database
- query builder to prepare appropiate SQL queries
- class representing dataList format of data fetched from database
- Test
- tests for all methods from register
- Resources
- UML diagram of the application
- diagram of the MySQL database
- user manual
- archive of files in JSON format