{"repo":"davidfowl/TodoApp","free":true,"listed":false,"github":"https://github.com/davidfowl/TodoApp","clone":"git clone https://github.com/davidfowl/TodoApp.git","description":"Todo application with ASP.NET Core Blazor WASM, Minimal APIs and Authentication","language":"C#","stars":3101,"topics":["aspnetcore","authentication","dotnet-core","jwt","opentelemetry","rest-api","blazor","webassembly","cookies"],"license":"MIT","category":"auth-billing-email","readme_excerpt":"Todo application with ASP.NET Core This is a Todo application that features: - Todo.Web - An ASP.NET Core hosted Blazor WASM front end application - Todo.Api - An ASP.NET Core REST API backend using minimal APIs It showcases: - Blazor WebAssembly - Minimal APIs - Using EntityFramework and SQLite for data access - OpenAPI - User management with ASP.NET Core Identity - Cookie authentication - Bearer authentication - Proxying requests from the front end application server using YARP's IHttpForwarder - Rate Limiting - Writing integration tests for your REST API Prerequisites 1. Install .NET 9 2. Aspire CLI Database The application uses SQLite and entity framework. Aspire is used to bootstrap all dependencies. Running the application To run the application, run the TodoApp.AppHost project. This uses Aspire to run both the Todo.Web/Server and Todo.Api. Optional Using the API standalone The Todo REST API can run standalone as well. You can run the Todo.Api project and make requests to various endpoints using the Swagger UI (or a client of your choice): Before executing any requests, you need to create a user and get an auth token. 1. To create a new user, run the application and POST a JSON payload to /users/register endpoint: 1. To get a token for the above user, hit the /users/login endpoint with the above user email and password. The response will look like this: 1. You should be able to use the accessToken to make authenticated requests to the todo endpoints. Social authenticati","default_branch":null,"files":null,"tree":[],"storefront":"/r/davidfowl","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/davidfowl/TodoApp/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}