A secure, full-stack ASP.NET MVC application for purchasing sports materials online. Users can register, log in, browse available products, add items to a serialized shopping cart, and complete their orders.
-
User authentication (signup + login)
-
Full shopping workflow with cart functionality (uses session-based serialization)
-
Secure and robust architecture with repository and service layers
-
Framework: ASP.NET MVC (C#)
-
Frontend: Bootstrap 5
-
Database: SQL Server (local for development, Azure SQL for production)
-
Architecture: MVC with Repository & Service layers
-
IDE: Visual Studio 2022
-
Version Control: GitHub Desktop
-
Deployment: Azure Web App Service (Windows)
The project is built following the MVC pattern with distinct Repository and Service layers for maintainability and separation of concerns:
-
Models: Represent key entities (Products, Users, Orders, Cart, etc.)
-
Views: Dynamic UI with Bootstrap 5 for responsive design
-
Controllers: Handle user requests and interact with services
-
Repository Layer: Abstracts database operations
-
Service Layer: Business logic and workflows
🟢 Deployed App:
https://sportsstore20250804204858-d7h2gta5dhfrc4fa.westeurope-01.azurewebsites.net/
-
Register at:
/Account/Register -
Log in at:
/Account/Login
-
Signup:
/Account/Register -
Login:
/Account/Login -
Logout:
/Account/Logout
-
Browse events and tickets on
/ -
Add to Cart: /Cart/Add/{productId}
-
View Cart: /Cart
-
Checkout: /Cart/Checkout
Cart is session-based and serialized to persist product data between requests.
# 1. Clone the repo
git clone [email protected]:Achra-f/Project-SportsStore.git
cd SportsStore
# 2. Configure local SQL Server connection string in appsettings.json
echo "Make sure to set your connection string in appsettings.jsonlike this:"
echo "\"Server=(localdb)\\\\mssqllocaldb;Database=ConcertTicketsDb;Trusted_Connection=True;\""
# 3. Run the database migration in Package Manager Console
PM> Update-Database
# 4. Run the solution (f5)