Cosmetics
Project 03

Cosmetics

Beauty e-commerce store with guest checkout and cash on delivery

E-commerceWeb AppAdmin DashboardDevOps
Cosmetics interface

Tech Stack

Next.jsReactTypeScriptExpress.jsPrismaPostgreSQLDockerTraefikGitHub Actions

The Challenge

Selling cosmetics online in Morocco comes with different constraints than a European shop: customers don't want to create accounts, payment is mostly cash on delivery and confirmation happens over WhatsApp. It needed a fast, simple storefront, a real back-office for stock and orders, and cheap hosting I fully control.

The Solution

A three-service architecture: SEO-friendly Next.js storefront, Next.js admin dashboard, Express/Prisma API. Guest checkout in a few steps, cash on delivery, automatic WhatsApp notification and emails. Each service is a Docker image built by GitHub Actions and deployed on my VPS behind Traefik, with a shared PostgreSQL database and automatic Let's Encrypt certificates.

Key Features

01

Next.js storefront

Catalog, categories, product pages, reviews, cart

02

Guest checkout

Order without an account, cash on delivery

03

WhatsApp confirmation

Automatic order notification to customer and seller

04

Admin dashboard

Products, orders, reviews, settings and analytics

05

Express + Prisma API

Typed REST API on PostgreSQL, image uploads

06

Containerised deploy

3 GHCR images, Traefik, automatic TLS, GitHub Actions CI