Project / 01

Aminu Nepal

A production ecommerce storefront for a Nepali skincare brand, designed, built and shipped solo, with a separate standalone admin panel behind it.

Status
Production
Role
Solo, End to End Full-Stack
Type
Ecommerce Platform
Year
2026

Overview

Aminu Nepal is a production ecommerce storefront for a Nepali skincare brand. I designed and shipped it independently, end to end, which meant the customer storefront, the backend API and a separate standalone admin panel were all mine to build and keep running.

It is a real store rather than a demo: it handles products, collections, ingredients, coupons, orders and customer accounts.

My Role

Solo. There was no team to split this with, so the whole surface was my responsibility:

  • Frontend storefront and the separate admin panel
  • Backend API and data model
  • Authentication and access control
  • Image and email infrastructure
  • Deployment

Architecture

The system is three deployable pieces rather than one monolith:

  1. Storefront, a Next.js App Router application in TypeScript.
  2. Admin panel, a second standalone Next.js application, kept separate from the storefront so the two have independent surfaces.
  3. Backend API, a Node.js and Express service using Prisma ORM over MySQL.

Client requests do not talk to the backend directly. They are proxied through /api-proxy/*, so the backend origin is never exposed to the browser.

Authentication

Authentication is JWT based, with tokens delivered as httpOnly cookies rather than stored anywhere JavaScript can reach them.

The admin side adds role based access control with two roles:

RoleAccess
superadminFull access across every resource
editorContent level access

The Admin System

The admin panel provides full CRUD across the entities the store actually runs on:

  • Products
  • Orders
  • Blogs
  • Coupons
  • Users
  • Collections
  • Ingredients

Media and Email

Product and content imagery goes through Cloudinary, so uploads, storage and delivery are handled outside the application server.

Transactional email is sent with Nodemailer.

Ordering

Order processing currently supports cash on delivery, which is the payment method the store operates with today.