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
.env
file in thefrontend
root folder. This file contain secrets and configurations. This should be done in a manner analogous to the.env.example
file. Depending on your environment, you may need to create separate files. -
Make sure you have created a certificate for localhost: use the
setupSsl.ps1
script to do so.
- Adapt the
appsettings.json
file located in thebackend/todo.API
directory. 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 install
cd backend
dotnet restore
dotnet build
- Run the .NET API
cd backend/todo.API
dotnet run
The .NET API will run on https://localhost:7156
- In a new terminal, start the Remix application:
cd frontend
npm run dev
The Remix application will run on https://localhost:3000