Full-Stack E-Commerce Platform

Project Overview
A full-stack e-commerce case study for INFO3181 (Full Stack Web Development). A Vue.js 3 + Quasar frontend talks to an ASP.NET Core 8 REST API, which uses Entity Framework Core to store products, customers, orders and branches in PostgreSQL. Customers register and log in with JWT authentication, browse products by brand, manage a cart, place orders and review their order history. The app is packaged with a multi-stage Docker build and deployed to Render.
Key Features
- User registration and login with salted password hashing and JWT-protected routes
- Product catalogue filtered by brand, with images and pricing
- Shopping cart and order placement with stock validation, plus itemized order history
- Branch locator: enter an address to see the 3 closest stores on a TomTom map
- RESTful controllers with Entity Framework Core data-access objects over PostgreSQL
Technical Challenges & Solutions
Finding the nearest store branches for any address a customer types in. Solved by geocoding the address with the TomTom API and ranking branches by great-circle distance using the Haversine formula, returning the three closest from a single API endpoint.
Hosted on a free tier: the first load can take up to a minute while it wakes up.
Back to Projects