This project is a Todo API that allows users to manage their todo tasks.
The API provides endpoints for users to create, read, update, and delete todo tasks. It uses JWT for authentication and authorization.
The project is written in C# and uses the following technologies:
- .NET Core for the API
- Dapper for data access
- SQL Server Data Tools (SSDT) for database management
- JWT for authentication
- Azure Bicep for infrastructure as code
- GitHub Actions for CI/CD
To use the API, users need to:
- Register a new account using the
/register
endpoint. - Log in with their new account using the
/login
endpoint. This will return a token. - Use the token to authenticate their requests to the other endpoints.
The project uses Azure Bicep for infrastructure as code. The Bicep files define the resources needed for the project, such as the App Service and SQL Server.
The Azure resources used in this project are temporary as they are part of an Azure Cloud Sandbox which was purchased temporarily. Please ensure to replace these resources with your own before deploying the project.
The project includes Azure scripts for deploying the infrastructure and the application. The scripts use the Azure CLI and PowerShell.
The project uses GitHub Actions for continuous integration and continuous deployment. The workflows include building the application, running tests, and deploying to Azure.
This project demonstrates a complete workflow for a Todo API, from development to deployment. It shows how to use .NET Core, Dapper, SSDT, JWT, Azure Bicep, Azure scripts, and GitHub Actions in a real-world scenario.
This project is MIT licensed.