Git Product home page Git Product logo

todo-list-java's Introduction

ToDoLy

ToDoLy is an application created in Java to add a list of daily tasks with a deadline date, you can edit your tasks, add new tasks and see all the pending tasks. This application works on command line.

Build with

  • Gradle
  • JDK 15
  • JUnit

Class Diagram

Please, click the link to see the class diagram: https://ibb.co/8x90Wtw

Getting started

You can start the application with Gradle or clone the repository.

Run with Gradle

  1. Go to the root folder
  2. Start the application with Gradle's run command
gradle run 
  1. If you want to run the test please, run command
gradle test 

Clone the repository

  1. Clone this repository:
https://github.com/MartaLourido/todo-list-java.git
  1. Open the code in the IDE of your choice or use the terminal

  2. Run the project from the Main class

  3. You can now view tasks, add new tasks, delete tasks and save tasks.

Usage

You will have to start the command line and when you start the application you will be able to choose an option and start typing the numbers that correspond to each option and what you want to view, add, edit or update.

Example:

******** Welcome to ToDoLy ********
You have: 2 tasks to do and 1 done
         ****************          
Pick an option:
1.Show Task List (by date or project) 
2.Add a new Task
3.Edit Task (update, mark as done, remove)
4.Save and Quit
|  *Type a number to make a selection*  |
Selection: 

If, for example, in selection I write the number 2, which is to add a new task, the programme will ask us for certain information that we will have to answer:

Selection: 2
Add new Task
Please, enter your name
Marta
Please, enter the name of the project you want to add the task to
Project Todo List
Please, enter a title for the task
Add the Readme to the project
Enter the task due date (dd/mm/yyyy): 09/03/2021'

If you want to edit a task, you will have to press 3, it will ask you which task you want to edit and then you will see a menu to choose if you want to change the title, the name of the project, the end date, delete the task or mark it as done:

What task do you want to edit?
1
What do you want to edit in this task?
Pick an option:
(1)Edit title of the task
(2)Edit due date of the task
(3)Edit project of the task
(4)Mark task as done
(5)Delete task
(6)Go back to the main menu
Selection: 

About

I am a junior programmer and this is my first project done in Java for the KTH Software Development Academy.

Linkedin LinkedIn ย 

GitHub GitHub

todo-list-java's People

Contributors

martalourido avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Forkers

jestersama

todo-list-java's Issues

Fix date format

File Reader.java has an error with the date format when it keeps the new task

Unit testing

Presence of unit testing for the majority of the methods for created classes, testing should be added to the project

.gitignore

Properly written .gitignore to exclude system files, language specific miscellaneous files, 3.6 build files etc from repository.

Edit task

It is necessary to be able to edit a task or mark it as done, an edit task function and a boolean that identifies if a task has been marked as done or not.

Cohesion - extracting to separate classes

TodoList is currently having a lot of responsibility, both as a model and a view since its printing (see MVC-patter) but also it is writing and reading to files. Consider extracting to separate classes

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.