Fag: Software Constrution og Software Design
Ghostchef er en webapplikation udviklet i C# med Razor Pages og Entity Framework. Formålet er at tilbyde brugere mulighed for at oprette og tilpasse abonnementer på måltidskasser, administrere kostpræferencer og håndtere betalinger og fakturaer – alt sammen som en udvidelse til Ghostchefs eksisterende website.
- 🔐 Brugeroprettelse og login (rollebaseret adgang)
- 📦 Oprettelse og administration af måltidskasser (MealBoxes)
- 🍽️ Tilpasning af måltidskasser med produkter og filtrering på kost/allergi
- 📋 Abonnementsstyring (leveringsfrekvens og tilknytning af kasser)
- 💳 Faktura- og betalingshåndtering
- 🧑🍳 Administratorinterface til redigering af måltidskasser og produkter
| Lag | Teknologi |
|---|---|
| Frontend | Razor Pages (.cshtml) |
| Styling | Bootstrap 5, CSS |
| Backend | ASP.NET Core 6 (C#) |
| Database | MS SQL Server |
| ORM | Entity Framework Core |
| Hosting | Lokal IIS / Azure-kompatibel |
| Versionsstyring | GitHub |
Relationel database i 3NF med følgende centrale tabeller:
User: Roller (Customer,Admin), loginoplysningerCustomer: Kontaktoplysninger og byrelationSubscription: Abonnement med leveringsfrekvens og kobling tilMealBoxMealBox: Måltidskasse med tilhørendeProduct-elementer og gyldighedsperiodeProduct: Retter med kobling tilDietogAllergyInvoice+Charge: Fakturering og betalingshistorik- Mellemtabeller:
MealboxProduct,ProductDiet,SubscriptionMealboxm.fl.
-
Klon projektet
git clone https://github.com/Hillgrove/Ghostchef.git -
Opsæt database
KørUpdate-Databasei Visual Studio eller via CLI:
dotnet ef database update -
Start backend
Åbn.slnog kør via IIS Express eller Kestrel
| Rolle | Rettigheder |
|---|---|
| Customer | Se/tilpas egne abonnementer og måltidskasser |
| Admin | CRUD på produkter, måltidskasser og brugere |
- CRUD på
Product,MealBox,Subscription,Invoice,Charge - Razor Pages med
OnGet,OnPostog inputvalidering - Sessionsbaseret login og rollebaseret adgang
- Filtrering af produkter på allergi og kost
- Dynamiske lister og relationer i visning og oprettelse
- Automatiske relationer ved brugeroprettelse
- Ingen rigtig betaling – fakturaer er fiktive
- Ingen email-notifikationer
- Begrænset mobilvenlighed (desktop-optimeret)
- Integration med betalingsgateway
- Mobilvenlig frontend og bedre styling
- Automatisk gentegning af abonnementer
- PDF-faktura og download
- Bedre audit-log og brugerhåndtering