Specs - melvinmajor/TodoList GitHub Wiki

Specification of the project

As it has been asked, this program will run under the MVC model. We will have a CLI and a GUI version which will naturally be user-friendly. We will also work under an aspect of client-server-socket. The GUI version will be made on JavaFX or Swing.

Our constraint are that we will work on Java 10 in stead of Java 8 (the one we use in the practice lesson) and that we will create JUnit test cases.

On Windows, you will have to install the JDK 10 or above available here and change your PATH_HOME and Path in your variable environment.

What our project must do:

The first thing it has to do is to add new tasks, complete and delete them. In other words, it has to manage all the different tasks entered and register them locally.

What our project will be able to do:

  • Part of the registered tasks could be modified afterwards by the user (everything except the date of creation),
  • Sort by importance, by date, etc.
  • Filter by user, category, importance, specific period of time, etc.

Some ideas of implementation:

Because we want to have something really complete, we could implement some of those ideas :

  • Show if it's a group work or not,
  • Other options to sort and/or filter the different tasks,
  • A progress bar for specific fields like importance or due date,
  • JSON API to integrate the program in something else afterwards.