Ce référentiel contient une application ASP.NET Core WebAPI qui implémente JWT Authentication , une application MAUI .NET pour le frontend administratif qui consomme le WebAPI protégé.
repository
|__src
| |__Foody -> web api project
| |__client -> maui project
| |__.gitignore
|__.gitignore
|__ReadME.md
Le projet peut être exécuté localement ou sur des codes.
Certaines exigences et charges de travail à installer:
Ouvrez une invite de commande (Windows) ou Terminal (Mac) et entrez le clonage le référentiel:
git clone https://github.com/coderBane/food-web-app.git
Ouvrez le référentiel dans les codes en cliquant sur le menu déroulant du code et en sélectionnant des codes
Nous devons d'abord configurer quelques choses avant de gérer les projets.
dotnet ef dotnet tool install -- global dotnet - efCréer une instance de conteneur redis
docker run --name redis-cache -p 6379:6379 -d redis
Créer une instance de conteneur
docker run --name postgresql -e POSTGRES_PASSWORD=<yourpassword> -p 5432:5432 -d postgres
Exécutez PSQL
docker exec -it postgresql psql -U postgres
Nous devrons d'abord créer un nouveau rôle. Le rôle aurait des privilèges de connexion et de création de base de données.
CREATE ROLE devuser WITH LOGIN CREATEDB PASSWORD '<yourpassword>';
Passez au nouvel utilisateur
c postgres devuser
Créer la base de données
CREATE DATABASE foody;
NOTE: You can run the command l to view all existing databases
Avant de pouvoir exécuter le projet, nous devons configurer quelques éléments pour l'API Web. Ouvrez le fichier foody.webapi.csproj et supprimez la propriété USERSECRETSID .
Ouvrez un nouveau terminal ou une invite de commande et modifier le répertoire dans le dossier goody.webapi.
Exécutez la commande:
dotnet user-secrets init
Générez une chaîne aléatoire en utilisant ce site Web aléatoire.
Créez un nouveau fichier 'S.JSON' et remplissez-le avec les éléments suivants
{
"JwtConfig": {
"Secret": "<generatedstring>",
"ExpiryTimeFrame": "00:01:00"
},
"WatchDog": {
"Username": "<yourusername>",
"Password": "<yourpassword>"
},
"Redis": "localhost",
"Postgres": "Server=localhost:5432;Database=foody;User Id=devuser;Password=<devuserpassword>;Integrated Security=true;Pooling=true;",
"UserPW": "<yourpassword>"
}
Définir les secrets de l'utilisateur
cat ./s.json | dotnet user-secrets set
NOTE: You can delete the s.json file
Nous devons créer les tables de la base de données.
dotnet ef --startup-project ../Foody.WebApi database update
Nous pouvons maintenant exécuter les projets
Lancer sans fanfaronnade
dotnet run
Lancer avec une interface utilisateur de fanfaronnade
dotnet watch