v-va*

← return to the collection

05 · e-commerce platform

qwerty e-commerce

a monochrome storefront engineered end-to-end alone

commerce · solo build


artist
fazza abiyyu
date
2026
role
everything, including the mistakes
medium
Next.js · Bun · JWT · GitHub API · Katalon
status
on view

statement

Built with Next.js 16 and Bun runtime, QWERTY features a premium monochrome design system, hybrid data persistence via GitHub API, SHA-256 password hashing, JWT-based authentication with role-based access control, and a fully integrated simulator ecosystem for developers.

  • security sha-256 password hashing; jwt sessions with role-based access control.
  • persistence hybrid data layer riding the github api.
  • assurance katalon automation suite built on a data-testid strategy.
3 simulator endpoints
SHA-256 password hashing
RBAC role-based auth
Katalon automated qa

the problem

developer-unfriendly e-commerce testing

Most e-commerce platforms depend on real third-party services (SMTP, payment gateways) during development, making it impossible to test critical flows like OTP verification, payment success/failure, and webhook events without live credentials or external infrastructure.

the answer

integrated simulator ecosystem

QWERTY ships with a built-in simulator layer: a Mock SMTP server with a real-time inbox dashboard, a payment webhook simulator, and a dummy payment UI — all CORS-enabled and accessible without any external setup. This enables full end-to-end testing in isolation.

exhibited artifact

fig. i — storefront, in monochrome · next.js design system
fig. i — storefront, in monochrome · next.js design system
fig. ii — the public repository · 202 commits · typescript
fig. ii — the public repository · 202 commits · typescript

requirements analysis

functional requirements

coderequirementdescription
FR-01User RegistrationCreate account with strong password validation (centralized rules)
FR-02JWT AuthenticationLogin with SHA-256 hashed passwords and JWT cookie issuance
FR-03Role-Based AccessSeparate permissions for Admin and Customer roles
FR-04Password RecoveryOTP generation, delivery via email simulator, and secure reset flow
FR-05Hybrid PersistenceLocal JSON for dev; GitHub API file sync for production (bypass Vercel read-only FS)
FR-06Email SimulatorMock SMTP endpoint with real-time inbox dashboard at /emailer-simulator
FR-07Payment SimulatorTrigger success/failure webhook events at /webhook-simulator
FR-08Dummy Payment UISafe checkout simulation environment at /dummy-payment
FR-09Product ManagementAdmin CRUD for product catalog with image and inventory tracking
FR-10Order LifecycleCustomer checkout, order history, and admin order status management

materials list

technical inventory

framework Next.js 16 (App Router)
runtime Bun
styling Vanilla CSS / Tailwind CSS
icons Lucide React
state Zustand / React Context
auth JWT + SHA-256 Hashing
database JSON + GitHub API Sync
qa Katalon Studio

notable installations

features & integrations

mock smtp server

Email Simulator

Intercepts all outgoing emails (OTPs, notifications) and displays them in a real-time inbox dashboard. No SMTP credentials required.

POST /api/simulators/emailerGET /emailer-simulator

payment gateway mock

Webhook Simulator

Simulates payment gateway callbacks (Bank Transfer). Trigger success or failure events without a real payment provider.

POST /api/webhook/paymentGET /webhook-simulator

checkout simulation

Dummy Payment UI

A safe, sandboxed UI for testing the full customer checkout experience from cart to payment confirmation without real transactions.

GET /dummy-payment

security architecture

Auth & Security Endpoints

Register, login, forgot-password and reset-password flows — JWT issued as secure HTTP-only cookies, OTP delivered through terminal and the email simulator.

/api/auth/register/api/auth/login/api/auth/forgot-password/api/auth/reset-password

automated testing

Katalon Studio Integration

All critical user flows — registration, login, password recovery, checkout, and order history — covered with consistent data-testid attributes for stable automated execution.

view automation repo ↗

documentation

Test Case Scenarios

Comprehensive test case documentation covering positive/negative paths, edge cases, and expected outcomes for every major feature.

view test docs ↗