A full-stack food ordering web application built with ASP.NET Core 9. Customers can browse a menu, manage a shopping cart, and pay via Stripe — while admins manage the menu, categories, and user roles through a dedicated dashboard.
Customer
- Browse menu items by category with images and descriptions
- Add/remove items from cart with quantity controls
- Automatic 8.25% sales tax calculation at checkout
- Secure payment processing via Stripe
- Order confirmation and status tracking
Admin
- Full CRUD for menu items, categories, and food types
- User and role management (Admin, Customer, Driver, Kitchen)
- Menu item image uploads
| Layer | Technology |
|---|---|
| Framework | ASP.NET Core 9, Razor Pages |
| Language | C# |
| ORM | Entity Framework Core 9 |
| Database | SQL Server / SQLite |
| Auth | ASP.NET Core Identity |
| Payments | Stripe.NET SDK |
Follows a clean 4-project layered architecture:
- BB.Core — Domain models and interfaces
- BB.Application — DbContext, Unit of Work, Generic Repository, DB seeding
- BB.Infrastructure — EF Core migrations
- BB.Web — Razor Pages UI + MVC API controllers
- Visual Studio 2022 (Community, Professional, or Enterprise)
- The ASP.NET and web development workload installed
- .NET 9 SDK
-
Clone the repository
git clone https://github.com/LittlebigalanCM/BiteByByte.git
-
Restore NuGet Packages
- Visual Studio normally restores packages automatically.
- If not, right-click the solution in Solution Explorer and select Restore NuGet Packages.
-
Set the Startup Project
- In Solution Explorer, right-click
BB.Weband choose Set as Startup Project.
- In Solution Explorer, right-click
-
Configure User Secrets
- See the User Secrets section below.
-
Configure the Database
- Open the Package Manager Console and run:
Add-Migration Initial Update-Database
- Open the Package Manager Console and run:
-
Build the Project
- Press Ctrl+Shift+B, or go to Build → Build Solution.
-
Run the Application
- Press F5 (Debug) or Ctrl+F5 (Run without debugging).
Never commit API keys or connection strings to a repository. This project uses Visual Studio's User Secrets Manager to keep sensitive configuration out of source control.
The appsettings.example.json file in the BB.Web project shows the expected structure. Copy it as a reference when setting up your secrets.
To configure your local secrets:
- In Solution Explorer, right-click the
BB.Webproject - Click Manage User Secrets — this opens a
secrets.jsonfile tied to your local machine - Add your connection string and Stripe keys following the structure in
appsettings.example.json
Visual Studio applies configuration files in this order, with later files taking priority:
appsettings.jsonappsettings.{Environment}.json(e.g.appsettings.Development.json)secrets.json
This means your local secrets.json will override anything in appsettings.json without touching the committed files.