พื้นที่เก็บข้อมูลนี้มี แอปพลิเคชัน ASP.NET Core WebAPI ที่ใช้ การตรวจสอบความถูกต้องของ JWT ซึ่งเป็น แอปพลิเคชัน. NET MAUI สำหรับการดูแลส่วนหน้าซึ่งใช้ WebAPI ที่ได้รับการป้องกัน
repository
|__src
| |__Foody -> web api project
| |__client -> maui project
| |__.gitignore
|__.gitignore
|__ReadME.md
โครงการสามารถรันได้ในท้องถิ่นหรือบนรหัส
ข้อกำหนดและปริมาณงานบางอย่างที่จะติดตั้ง:
เปิดพรอมต์คำสั่ง (windows) หรือเทอร์มินัล (Mac) และป้อนโคลนที่เก็บ:
git clone https://github.com/coderBane/food-web-app.git
เปิดพื้นที่เก็บข้อมูลใน codeSpaces โดยคลิกที่เมนู Dropdown Code และเลือก codeSpaces
เราจำเป็นต้องตั้งค่าบางสิ่งก่อนที่จะดำเนินโครงการ
dotnet ef dotnet tool install -- global dotnet - efสร้างอินสแตนซ์คอนเทนเนอร์ Redis
docker run --name redis-cache -p 6379:6379 -d redis
สร้างอินสแตนซ์คอนเทนเนอร์
docker run --name postgresql -e POSTGRES_PASSWORD=<yourpassword> -p 5432:5432 -d postgres
เรียกใช้ psql
docker exec -it postgresql psql -U postgres
ก่อนอื่นเราจะต้องสร้างบทบาทใหม่ บทบาทจะมีสิทธิ์การเข้าสู่ระบบและการสร้างฐานข้อมูล
CREATE ROLE devuser WITH LOGIN CREATEDB PASSWORD '<yourpassword>';
เปลี่ยนเป็นผู้ใช้ใหม่
c postgres devuser
สร้างฐานข้อมูล
CREATE DATABASE foody;
NOTE: You can run the command l to view all existing databases
ก่อนที่เราจะเรียกใช้โครงการเราต้องกำหนดค่าบางอย่างสำหรับเว็บ API เปิดไฟล์ foody.webapi.csproj และลบคุณสมบัติ usersecretsid
เปิดเทอร์มินัลหรือคำสั่งใหม่และเปลี่ยนไดเรกทอรีไปยังโฟลเดอร์ Foody.webapi
เรียกใช้คำสั่ง:
dotnet user-secrets init
สร้างสตริงแบบสุ่มโดยใช้เว็บไซต์นี้แบบสุ่ม
สร้างไฟล์ใหม่ 'S.JSON' และเติมด้วยสิ่งต่อไปนี้
{
"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>"
}
ตั้งค่าความลับของผู้ใช้
cat ./s.json | dotnet user-secrets set
NOTE: You can delete the s.json file
เราจำเป็นต้องสร้างตารางในฐานข้อมูล
dotnet ef --startup-project ../Foody.WebApi database update
ตอนนี้เราสามารถเรียกใช้โครงการได้
เปิดตัวโดยไม่พูดภาษา
dotnet run
เปิดตัวด้วย Swagger UI
dotnet watch