Taskify is a task management application that allows users to create, update, delete, and manage tasks. Users can keep track of their tasks effectively, helping them take control of their day.
- Create Tasks: Add new tasks with titles, descriptions, statuses, and due dates.
- Read Tasks: Retrieve tasks by ID, status, or by various date ranges.
- Update Tasks: Modify existing tasks or mark them as complete.
- Delete Tasks: Remove tasks from the list.
- Search Tasks: Search for tasks by title or description.
- Task Statistics: Retrieve tasks created, updated, or completed on specific dates.
- Java: The programming language used to develop the application.
- Spring Boot: A framework for building RESTful web services.
- Spring Data JPA: For database access and entity management.
- H2 Database: An in-memory database for development and testing.
- Spring Security: For securing the API endpoints.
- SpringDoc: For API documentation using OpenAPI.
- Maven: For dependency management and building the application.
Make sure you have the following installed on your machine:
- Java 21 or higher
- Maven
-
Clone the repository:
git clone https://github.com/<your-username>/taskify.git cd taskify
-
Build the project using Maven:
mvn clean install
-
Run the application
mvn spring-boot:run
Once the application is running, you can access the API at http://localhost:8080/api/tasks.
You can view API documentation at http://localhost:8080/swagger-ui.html to explore available endpoints and their usage.
Here are some example requests you can use to interact with the API.
Endpoint: POST /api/tasks/create
{
"title": "Get soda",
"description": "Go to HEB and buy diet Pepsi",
"status": "PENDING",
"dueDate": "10/25/2024"
}Endpoint: POST /api/tasks/create/multiple
[
{
"title": "Get soda",
"description": "Go to HEB and buy diet Pepsi",
"status": "PENDING",
"dueDate": "10/25/2024"
},
{
"title": "Complete homework",
"description": "Finish the math assignment",
"status": "PENDING",
"dueDate": "10/24/2024"
},
{
"title": "Call Mom",
"description": "Check in and see how she is doing",
"status": "PENDING",
"dueDate": "10/26/2024"
},
{
"title": "Grocery shopping",
"description": "Buy ingredients for dinner",
"status": "PENDING",
"dueDate": "10/27/2024"
}
]To run the test suite, execute the following command:
mvn testContributions are welcome! Please feel free to submit a pull request or open an issue if you find any bugs or have suggestions for improvements.
This project is licensed under the MIT License.