Dieses Repository enthält eine ASP.NET Core -WebAPI -Anwendung , die die JWT -Authentifizierung implementiert, eine .NET -MAUI -Anwendung für administratives Frontend, das die geschützten WebAPI konsumiert.
repository
|__src
| |__Foody -> web api project
| |__client -> maui project
| |__.gitignore
|__.gitignore
|__ReadME.md
Das Projekt kann lokal oder auf Codenspaces ausgeführt werden.
Einige Anforderungen und Workloads zu installieren:
Öffnen Sie eine Eingabeaufforderung (Windows) oder Terminal (MAC) und geben Sie das Repository ein: Klon:
git clone https://github.com/coderBane/food-web-app.git
Öffnen Sie das Repository in den Codenspaces, indem Sie auf das Dropdown -Menü des Code klicken und Codenspaces auswählen
Wir müssen zuerst ein paar Dinge einrichten, bevor wir die Projekte ausführen.
dotnet ef dotnet tool install -- global dotnet - efErstellen Sie eine Redis -Container -Instanz
docker run --name redis-cache -p 6379:6379 -d redis
Erstellen Sie eine Containerinstanz
docker run --name postgresql -e POSTGRES_PASSWORD=<yourpassword> -p 5432:5432 -d postgres
PSQL ausführen
docker exec -it postgresql psql -U postgres
Zuerst müssen wir eine neue Rolle schaffen. Die Rolle hätte Login- und Datenbankerstellungspräpariledges.
CREATE ROLE devuser WITH LOGIN CREATEDB PASSWORD '<yourpassword>';
Wechseln Sie zum neuen Benutzer
c postgres devuser
Erstellen Sie die Datenbank
CREATE DATABASE foody;
NOTE: You can run the command l to view all existing databases
Bevor wir das Projekt ausführen können, müssen wir einige Dinge für die Web -API konfigurieren. Öffnen Sie die Datei foody.webapi.csproj und löschen Sie die Eigenschaft von Usersecretsid .
Öffnen Sie ein neues Terminal oder eine Eingabeaufforderung und ändern Sie das Verzeichnis in den Ordner foody.webapi.
Führen Sie den Befehl aus:
dotnet user-secrets init
Generieren Sie eine zufällige Zeichenfolge mit dieser Website zufällig.
Erstellen Sie eine neue Datei 'S.Json' und bevölkern sie mit den folgenden
{
"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>"
}
Setzen Sie die Benutzergeheimnisse
cat ./s.json | dotnet user-secrets set
NOTE: You can delete the s.json file
Wir müssen die Tabellen in der Datenbank erstellen.
dotnet ef --startup-project ../Foody.WebApi database update
Wir können jetzt die Projekte durchführen
Starten Sie ohne Prahlerei
dotnet run
Starten Sie mit der Swagger UI
dotnet watch