Skip to content
Hananiah Asare

ShopAPI

Full-stack e-commerce platform: browsing, cart, wishlists, orders, reviews and a role-based admin dashboard.

React · TypeScript · Express

screens

Home page: the shop's own editorial front
The catalogue, filterable by category, price and search
A product page, with derived rating and stock state
Order history, with expandable line items
Admin dashboard: revenue, orders and stock alerts

overview

A complete e-commerce application, front to back, built around a general store called Sundry that sells homeware, clothing, tools and books. Customers can browse and filter a catalogue of forty-three items, manage a cart and wishlist, check out, track orders and leave reviews.

Behind a separate admin login sits a full operations dashboard: order and product management, sales analytics with revenue broken down by month, customer reports, and inventory alerts for low or out-of-stock items.

The interface had a full design pass of its own. Type carries the branding rather than colour, the palette is limited to a warm off-white ground, a near-black and a single vermilion accent, and separation comes from hairline rules instead of shadows. Every text colour was checked against WCAG AA by walking the rendered DOM and computing contrast, rather than by eye.

highlights

  • Filter products by category, price range and search term
  • Cart and wishlist, with one-step move between them
  • Checkout, order history and customer-initiated cancellation
  • Admin dashboard with revenue, order and user analytics
  • Role-based access control with employee-ID admin verification
  • Low and out-of-stock inventory alerting
  • Text contrast verified against WCAG AA across the rendered interface

stack

Frontend

React 18 TypeScript Vite React Router v6

State

React Context (Auth, Cart, Wishlist, Toast)

Backend

Node.js Express

Database

MongoDB Mongoose

Auth

Session-based auth Role-based access control