ScalaTaskManager is a powerful and flexible task management application built with Scala. It allows users to create, manage, and prioritize tasks seamlessly, featuring both simple and recurring tasks.
- Task Management:
- Add, remove, and complete tasks.
- Support for both simple and recurring tasks.
- Prioritization:
- Assign priority levels to tasks.
- Sort tasks by priority.
- Due Dates:
- Set and manage due dates for tasks.
- Automatically calculate next due date for recurring tasks.
- Filtering:
- Filter tasks by completion status.
- Scala: The application is written in Scala.
- Standard Library: Utilizes Scala's standard library for collections and I/O operations.
- Add Task: Allows users to add simple or recurring tasks with optional due dates.
- Remove Task: Enables users to remove tasks by index.
- Complete Task: Marks tasks as completed and calculates the next due date for recurring tasks.
- View Tasks: Displays all tasks with their details and statuses.
- Sort Tasks: Sorts tasks based on their priority levels.
- Filter Tasks: Filters tasks based on their completion status.
The project consists of the following main files:
main.scala
: Contains the implementation of the task management logic and the user interface for interacting with tasks.build.sbt
: Defines the project's dependencies and build settings.
To get started with this project:
- Clone the repository.
- Navigate to the project directory.
- Compile the project using
sbt compile
. - Run the application with
sbt run
.
This project serves as a practical example of implementing a task management system in Scala. It demonstrates various concepts such as trait-based design, case classes, and functional programming principles in a real-world scenario.
Contributions to this project are welcome. Please fork the repository and create a pull request with your changes.
This project is licensed under the MIT License - see the LICENSE file for details.