Syfte: Skapa ett enkelt onlinebutik-API med C# och .NET som låter en onlinebutik förse kunder med information om produkter och lägga ordrar. Likväl som ett administrativt system kan administrera nya produkter och ordrar.
Verktyg/Tekniker: C#, .NET, ASP.NET Core, Entity Framework Core, MS SQL Server (eller annan föredragen databas)
- Skapa ett nytt ASP.NET Core Web API-projekt.
- Konfigurera en ny databas med Entity Framework Core. Använd filen products.json för att seeda databasen med produkter.
- Utforma och implementera följande databasmodeller:
- Product
- Id (int, primärnyckel)
- Name (sträng, obligatorisk)
- Description (sträng)
- Price (decimal, obligatorisk)
- Stock (int, obligatorisk)
- ImageUrl (sträng)
- Order
- Id (int, primärnyckel)
- CustomerName (sträng, obligatorisk)
- CustomerEmail (sträng, obligatorisk)
- TotalAmount (decimal, obligatorisk)
- CreatedAt (DateTime, obligatorisk)
- OrderItems (List<OrderItem>, obligatorisk)
- OrderItem
- Id (int, primärnyckel)
- OrderId (int, främmande nyckel till Order)
- ProductId (int, främmande nyckel till Product)
- Quantity (int, obligatorisk)
- Price (decimal, obligatorisk)
- Implementera följande API-endpoints:
- Products
- GET /api/products: Hämta en lista över alla produkter
- GET /api/products/{id}: Hämta en enskild produkt med dess ID
- POST /api/products: Lägg till en ny produkt
- PUT /api/products/{id}: Uppdatera en befintlig produkt
- DELETE /api/products/{id}: Ta bort en produkt
- Orders
- GET /api/orders: Hämta en lista över alla beställningar
- GET /api/orders/{id}: Hämta en enskild beställning med dess ID
- POST /api/orders: Lägg till en ny beställning (se till att lager uppdateras)
- DELETE /api/orders/{id}: Ta bort en beställning (se till att lager uppdateras)
- Implementera nödvändiga valideringskontroller och felhantering för API-endpoints.
- Skriv enhetstester för att täcka huvudfunktionaliteten i API:et.
- Dokumentera dina API-endpoints med Swagger eller liknande verktyg.
- Den kompletta källkoden för den implementerade lösningen.
- En README-fil med instruktioner om hur man konfigurerar och kör projektet, inklusive eventuell databasinställning.
- Kvalitet och organisering av koden
- Korrekt implementering av de angivna databasmodellerna och API-endpoints
- Valideringskontroller och felhantering
- Enhetstesttäckning
- API-dokumentation