This project is a simple Task Management API that provides CRUD operations for managing tasks. Additionally, the application includes an automated reminder system that sends notifications for tasks with upcoming due dates. The scheduling of these reminders is handled using Hangfire.
- CRUD Operations: Create, Read, Update, and Delete tasks.
- Task Reminders: Automated notifications for tasks nearing their deadline.
- Background Processing: Hangfire is used for scheduling reminders.
- ASP.NET Core (for API development)
- Entity Framework Core (for database management)
- Hangfire (for task scheduling and background processing)
- .NET 9 SDK
- Clone the repository:
git clone https://github.com/s3ba-b/tasks-api cd tasks-api - Start the application:
dotnet run --launch-profile https
- Access API Documentation:
- Open
http://localhost:<port>/swaggerin your browser.
- Open
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/tasks |
Get all tasks |
| GET | /api/tasks/{id} |
Get a task by ID |
| POST | /api/tasks |
Create a new task |
| PUT | /api/tasks/{id} |
Update a task |
| DELETE | /api/tasks/{id} |
Delete a task |
- The system periodically checks for tasks with upcoming deadlines.
- If a task is due within 2 hours, a reminder is sent.
- Hangfire manages scheduled jobs for sending these notifications.
- Fork the repository
- Create a new branch (
feature-branch) - Commit your changes
- Push to your branch
- Create a Pull Request
This project is licensed under the MIT License. See LICENSE for details.
For any inquiries or issues, please open an issue on GitHub.