API for managing todo tasks
- Can be integrated with an openid enabled authorization server.
- Has api endpoints with cookie authentication and csrf protection for SPAs.
- Has api endpoints with JWT bearer authorization and no csrf protection for native clients and servers.
- Employs best practices such as SOLID and Onion architecture.
- Comprehensive Swagger documentation.
- Ensure you have installed dotnet 5.0, Entity Framework tools and Microsoft SQL Server at least developer edition.
- Open the Web folder of the solution, copy appsettings.example.json and save as appsettings.json. Set the DefaultConnection field in the ConnectionStrings section of appsettings.json to point to a database for the app in Microsoft SQL Server. Set your desired value for other fields in appsettings.json
- From your CLI, navigate to Infrastructure folder of the solution and run the following commands:
# run migrations
$ dotnet ef database update --startup-project ../Web/Web.csproj
# serve at http://localhost:5002 and https://localhost:5003
$ dotnet run --project ../Web/Web.csproj
# Trust dotnet developer certificates. If the browser is still not trusting the certificate, read more [here](https://docs.microsoft.com/en-us/aspnet/core/security/enforcing-ssl?view=aspnetcore-5.0&tabs=visual-studio#trust-the-aspnet-core-https-development-certificate-on-windows-and-macos)
$ dotnet dev-certs https --clean
$ dotnet dev-certs https --trust
- Open https://localhost:5003/swagger in your browser to see swagger doc.
- In Microsoft SQL Server, enable full text search on NormalizedName column of TodoItems table.