Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/shuddha2021/scalataskmanager
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.
https://github.com/shuddha2021/scalataskmanager
functional-programming priority-scheduling recurring-tasks scala simple-tasks task-management-app task-management-system task-manager to-do-list
Last synced: about 1 month ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/shuddha2021/scalataskmanager
- Owner: shuddha2021
- Created: 2024-05-31T18:32:38.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2024-05-31T18:45:51.000Z (6 months ago)
- Last Synced: 2024-10-01T15:59:19.263Z (about 2 months ago)
- Topics: functional-programming, priority-scheduling, recurring-tasks, scala, simple-tasks, task-management-app, task-management-system, task-manager, to-do-list
- Language: Scala
- Homepage:
- Size: 64.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ScalaTaskManager
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.
## Features
- **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.## Technologies Used
- **Scala**: The application is written in Scala.
- **Standard Library**: Utilizes Scala's standard library for collections and I/O operations.## Core Logic
- **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.## Project Structure
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.## Getting Started
To get started with this project:
1. Clone the repository.
2. Navigate to the project directory.
3. Compile the project using `sbt compile`.
4. Run the application with `sbt run`.## Why This Project Is Useful
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.
## Contributing
Contributions to this project are welcome. Please fork the repository and create a pull request with your changes.
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.