Overview
A full-stack e-commerce app with product browsing, auth, cart, and checkout.
The Problem
The goal was a real e-commerce system, not a static catalog: secure auth and a cart that holds up through checkout.
What I Built
A React storefront on top of an Express API and a relational database, with auth, products, cart state, and checkout all wired end to end.
Architecture
The React app talks to a REST API. The server enforces auth and owns the cart and order lifecycle against the database.
Technical Decisions
- Kept auth and validation on the server, never trusting the client.
- Modeled cart and orders as real database entities.
- Designed the API around resources so the frontend stays thin.
State consistency
Keeping the cart in sync between client and server across sessions.
Auth security
Protecting routes and user data with real auth and validation.
My Contribution
- Built the whole storefront UI.
- Implemented the REST API and database schema.
- Wired auth, cart, and checkout together end to end.