Forever
A production-grade full-stack e-commerce store with a separate admin dashboard, Stripe payments, and real-time cart sync
What is it?
Forever is a fully-featured e-commerce web application built on the MERN stack — covering everything a real online store needs: a customer-facing storefront, a separate admin control panel, a RESTful backend API, cloud media management, and live Stripe payment processing. It's not a tutorial clone — it's a complete, multi-application architecture with dual authentication flows, persistent cart logic, and real order management built to production standards.
What I Did
I architected and built three interconnected applications from scratch — the customer storefront, the admin dashboard, and the backend API — as one cohesive system. I handled the full stack: database schema design, REST API development, dual-tier authentication, Cloudinary media pipeline, Stripe checkout integration, and a persistent cart system that survives sessions and syncs on login. Every layer of the application was built and wired together by me.
Tech Stack & Tools
- MERN Stack
- E-Commerce
- Stripe
- Cloudinary
- JWT Auth
- React Context
- Admin Dashboard
- Full-Stack
- Personal Project
- MongoDB
Multi-App Architecture
Designed the project as three separate applications sharing one backend — a customer frontend, an admin dashboard, and a Node.js/Express API. This separation keeps concerns clean: admins and customers hit different React apps but talk to the same RESTful API with role-aware middleware controlling what each can access.
Dual-Tier JWT Authentication
Built two completely separate authentication flows — one for customers and one for administrators — both powered by JWTs. Admin routes are protected by a custom Express middleware layer that validates both the token and the admin role flag, so a customer JWT can never access admin endpoints even if intercepted.
Dynamic Product Management
Engineered a product model supporting multi-image carousels, category taxonomy, size selection logic, and a bestseller flag. Admins can upload multiple product images in one flow — images are sent to Cloudinary, optimized automatically, and the returned URLs are stored in MongoDB against the product document.
Persistent Cart with Session Sync
Built cart logic using React Context API and a custom ShopContext provider. Cart state persists across browser sessions and syncs automatically on user login — merging any guest cart items with the user's saved cart from the database, so shoppers never lose what they added before signing in.
Stripe Payment Integration
Implemented a secure Stripe checkout flow with server-side payment intent creation and real-time payment verification webhooks. The order is only confirmed in MongoDB after Stripe confirms the charge — preventing order creation on failed or abandoned payments.
Admin Control Panel
Built a dedicated admin dashboard where administrators can add and manage products, monitor live order statuses across all customers, update delivery stages, and manage inventory — all through a clean, purpose-built interface separate from the customer storefront.
- Applications Built as One System
- 3
- Customer storefront, admin dashboard, and backend API — all interconnected
- Authentication Architecture
- 2-Tier
- Fully separate JWT flows for customers and admins with role-based middleware
- Live Payment Processing
- Stripe
- Server-side payment intents with webhook-based order confirmation
- Cart Persistence
- Zero Loss
- Guest cart merges seamlessly with user cart on login — no items ever dropped
- Customer storefront with product browsing and search
- Multi-image product carousels with size selection
- Bestseller flagging and category filtering
- Persistent cart — survives sessions, syncs on login
- Stripe checkout with server-side payment intent creation
- Webhook-based order confirmation after payment success
- Separate admin dashboard application
- Admin product management — upload, edit, delete
- Multi-image upload via Cloudinary with auto-optimization
- Live order status monitoring for all customers
- Delivery stage management from admin panel
- Dual JWT auth — separate flows for customers and admins
- Role-based API middleware blocking cross-tier access
- Fully responsive across mobile, tablet, and desktop
Three-application system (storefront, admin, API) built as one cohesive architecture
Dual-tier JWT auth — customer tokens can never access admin endpoints by design
Cart merge on login — guest cart items preserved and synced with user's saved cart
Stripe webhooks confirm payment server-side before any order is written to MongoDB
Cloudinary upload pipeline — multi-image, auto-optimized, URL stored per product document
Custom Express middleware stack handles auth, role checks, and error boundaries independently
Ready to build something amazing?
Interested in learning more about this project or starting a new full-stack development journey? Let's talk.