Repositori ini berisi aplikasi WebAPI inti ASP.NET yang mengimplementasikan otentikasi JWT , aplikasi .NET Maui untuk frontend administratif yang mengkonsumsi WebAPI yang dilindungi.
repository
|__src
| |__Foody -> web api project
| |__client -> maui project
| |__.gitignore
|__.gitignore
|__ReadME.md
Proyek ini dapat dijalankan secara lokal atau di codespace.
Beberapa persyaratan dan beban kerja untuk diinstal:
Buka prompt perintah (windows) atau terminal (mac) dan masukkan klon repositori:
git clone https://github.com/coderBane/food-web-app.git
Buka repositori dalam codespaces dengan mengklik menu dropdown kode dan memilih codespaces
Kita perlu mengatur beberapa hal terlebih dahulu sebelum menjalankan proyek.
dotnet ef dotnet tool install -- global dotnet - efBuat instance wadah redis
docker run --name redis-cache -p 6379:6379 -d redis
Buat contoh wadah
docker run --name postgresql -e POSTGRES_PASSWORD=<yourpassword> -p 5432:5432 -d postgres
Jalankan PSQL
docker exec -it postgresql psql -U postgres
Pertama kita perlu membuat peran baru. Peran tersebut akan memiliki login dan hak istimewa pembuatan basis data.
CREATE ROLE devuser WITH LOGIN CREATEDB PASSWORD '<yourpassword>';
Beralih ke pengguna baru
c postgres devuser
Buat database
CREATE DATABASE foody;
NOTE: You can run the command l to view all existing databases
Sebelum kita dapat menjalankan proyek, kita perlu mengonfigurasi beberapa hal untuk API Web. Buka file foody.webapi.csproj dan hapus properti UserseCretsid .
Buka terminal baru atau prompt perintah dan ubah direktori ke folder foody.webapi.
Jalankan perintah:
dotnet user-secrets init
Hasilkan string acak menggunakan situs web ini secara acak.
Buat file baru 's.json' dan mengisinya dengan yang berikut ini
{
"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>"
}
Atur Rahasia Pengguna
cat ./s.json | dotnet user-secrets set
NOTE: You can delete the s.json file
Kita perlu membuat tabel dalam database.
dotnet ef --startup-project ../Foody.WebApi database update
Kami sekarang dapat menjalankan proyek
Luncurkan tanpa kesombongan
dotnet run
Luncurkan dengan Swagger UI
dotnet watch