← Back to Projects
Project ID: B2C

Featured project

Ecommerce Website with Admin panel

A full-stack B2C store with secure login and an admin dashboard for managing products and content, including image uploads and CRUD operations for maintaining the catalog.

About this project

Built as a school project (not for a real client), this B2C app includes a customer storefront and a separate admin dashboard. To keep things consistent and easy to maintain, I organized it as a monorepo and shared types across the stack. Docker Compose runs the services while Nginx routes traffic so both sites can live together on a single EC2 instance.

Storefront walkthrough

Storefront walkthrough

A quick walkthrough of the storefront user flow.

Feature

Admin dashboard

Admins can manage products in one place with a clear, task-focused UI.

  • Create, edit, and delete products
  • Manage product details and images
  • Simple navigation for daily admin work
Admin dashboard

Admin dashboard

Manage products and monitor the catalog.

Admin CRUD flow

Admin CRUD flow

Creating and editing product details.

Feature

Product CRUD + image uploads

A practical workflow for maintaining the catalog: update content, attach images, and keep data consistent.

  • Product CRUD screens
  • Image upload support
  • Server-side validation and persistence

Feature

Customer storefront

A storefront designed for browsing and buying: product discovery, clean layout, and smooth navigation.

  • Browse and view products
  • Responsive pages
  • Clear product details
Storefront

Storefront

Browsing the shop experience.

Feature

tRPC + monorepo + one-server deployment

Behind the scenes, I used a monorepo to share code and types between the UI and API. With tRPC, frontend-to-backend calls feel like calling a function, but the logic runs on the server. Docker Compose runs both sites, and Nginx routes requests to the right service, so everything can run together on one EC2 instance.

  • tRPC makes API calls feel like typed functions
  • Shared types reduce mismatch bugs between UI and server
  • Nginx routes traffic so two sites can share one server

Implementation

Tech Stack

Core technologies used to build and deploy this project.

AWSTypeScriptNext.jsTailwind CSSMongoDBtRPCTurboRepoDocker
Loading