This project is a demonstration of a Remix Web application with a .NET API application. The use case for this demonstration is a simple ToDo app. As Identity Provider (IdP) we use Microsoft Entra ID.
The project is built with .NET 8.0. You can download it from the official .NET download page .NET download page
This project requires Node.js version 20. If you don't have it installed, you can download it from Node.js official website.
Before you start, you need to setup an App Registrations in Azure. It has to be configured, that the Role of the user is included in the access token. https://damienbod.com/2021/02/01/implement-app-roles-authorization-with-azure-ad-and-asp-net-core/
This project uses Azure Redis for caching. To run this repository, you will need to set up your own Azure Redis instance. Please follow the official Azure Redis documentation to set up and configure your Azure Redis instance.
- Clone the repository:
git clone <repository-url>-
You need to create a
.envfile in thefrontendroot folder. This file contain secrets and configurations. This should be done in a manner analogous to the.env.examplefile. Depending on your environment, you may need to create separate files. -
Make sure you have created a certificate for localhost: use the
setupSsl.ps1script to do so.
- Adapt the
appsettings.jsonfile located in thebackend/todo.APIdirectory. Replace the placeholders with your secrets and configuration related to the app registration. Related to your environment, you can create separate files.
Please be careful not to commit your changes to this file if it contains sensitive information. Consider using a secrets manager for production environments.
cd frontend
npm installcd backend
dotnet restore
dotnet build- Run the .NET API
cd backend/todo.API
dotnet runThe .NET API will run on https://localhost:7156
- In a new terminal, start the Remix application:
cd frontend
npm run devThe Remix application will run on https://localhost:3000