I have created a simple To-Do List Manager using java where users can add tasks, mark them as completed, delete, view all tasks or filter them based on their completion status.
- Add tasks with descriptions and due dates.
- Delete tasks.
- Mark tasks as completed or pending.
- View tasks or filter them based on their completion status:
- All tasks
- Completed tasks
- Pending tasks
Behavioral Pattern:
Undo and redo actions using the Memento pattern.Creational Pattern:
Used the Builder Pattern for constructing tasks with optional attributes like due date or tags.OOP:
Focused on encapsulation by keeping task data and methods together in a class.
![image](https://private-user-images.githubusercontent.com/83898956/270162591-ff75c670-6f56-401b-849d-0af4c076276b.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIyMTM3MzIsIm5iZiI6MTcyMjIxMzQzMiwicGF0aCI6Ii84Mzg5ODk1Ni8yNzAxNjI1OTEtZmY3NWM2NzAtNmY1Ni00MDFiLTg0OWQtMGFmNGMwNzYyNzZiLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MjklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzI5VDAwMzcxMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTBhODk0ZjY4ZGJhNjVmYjRjNDk3ZGRkMDRjZTI0Mjk4NTRjMzQ3OTgwNzBjODU1YmM3ZTQ3MWFkZTRlN2QxNjcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.UxLtRQyZMtBxDDyckSO4VhqCHOqoa-0peVNlweRKMcY)
![image](https://private-user-images.githubusercontent.com/83898956/270162606-884e049d-eb90-4713-a0c9-a3b69bea52ac.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIyMTM3MzIsIm5iZiI6MTcyMjIxMzQzMiwicGF0aCI6Ii84Mzg5ODk1Ni8yNzAxNjI2MDYtODg0ZTA0OWQtZWI5MC00NzEzLWEwYzktYTNiNjliZWE1MmFjLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MjklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzI5VDAwMzcxMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTAzZDM3NTI2OTQ1NjVmMWFmYzA5NjAxNGVmZGVjYTRhYmVjYTNhZGM3NjU0YTIyNTFjZjYyNjQzNTExYzlkMjImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.ib4-SwsS4knfHYaKK48bFqbMaWzgZMm4nbyMvsL9B7E)
![image](https://private-user-images.githubusercontent.com/83898956/270162620-b7e6abfa-a486-4fc9-a5e4-b2c276c3dc2b.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIyMTM3MzIsIm5iZiI6MTcyMjIxMzQzMiwicGF0aCI6Ii84Mzg5ODk1Ni8yNzAxNjI2MjAtYjdlNmFiZmEtYTQ4Ni00ZmM5LWE1ZTQtYjJjMjc2YzNkYzJiLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MjklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzI5VDAwMzcxMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWEyZDQ1ZTJlMjk0ZmNlMDNiMjc0N2JmOGQwMGJjZDZhYjM4MzUyZjEyNzg5ZGJiMTk4NGU0ZDE2NTViNTllN2QmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.wWMxiNhbwRljPLgznYZ_UkjosUnELilRcui7TCq29L8)
![image](https://private-user-images.githubusercontent.com/83898956/270162653-d9f904ad-b7d3-41fa-a45e-5865b556533f.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIyMTM3MzIsIm5iZiI6MTcyMjIxMzQzMiwicGF0aCI6Ii84Mzg5ODk1Ni8yNzAxNjI2NTMtZDlmOTA0YWQtYjdkMy00MWZhLWE0NWUtNTg2NWI1NTY1MzNmLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MjklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzI5VDAwMzcxMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTAxMzQ5YjQ3NzE1NTZjYjI3Y2M2NzcwNzE4NWMyYjY2OTBmNTY1YWNlZDQ0YWRiYzVjNDA2OWU1NTYwNmI5YWEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.MCjdmq48lYnzdSAjtiAb88HGd6-kugo_HBPi3Nx2X4w)
![image](https://private-user-images.githubusercontent.com/83898956/270162671-737a1a40-b97d-4d4e-b637-db1e265c33e1.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIyMTM3MzIsIm5iZiI6MTcyMjIxMzQzMiwicGF0aCI6Ii84Mzg5ODk1Ni8yNzAxNjI2NzEtNzM3YTFhNDAtYjk3ZC00ZDRlLWI2MzctZGIxZTI2NWMzM2UxLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MjklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzI5VDAwMzcxMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTFhYzhkYjIzNjNiYjNiYTE4NjJiZTJmZWM3NzI4MWNmNmQ0NDVkZTRhYmM3NTU0NTVjYzZkMjA2NTliYzdiMmImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.lLTD_WqjrwdBKgihOQK0rNO-qFGZiIXuW3tDG9sBNbw)
Make sure Java Development Kit (JDK) installed on your machine.
- Clone the repository:
https://github.com/pratheek08/EI.To-Do
- Compile and run java file(Task.java)
javac Task.java
java Task