Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
A full-stack Next.js image marketplace demo with JWT auth, Stripe payments, seller approval, and admin role management.

Next.js ecommerce starter built as a web programming final exam, using MongoDB, Prisma, Tailwind CSS, and JWT auth.
PictureLand is a full-stack Next.js e-commerce demo where visitors can sign up, browse image listings, pay with Stripe, and — if approved as a seller — upload and manage their own products.
PictureLand is an image marketplace built as a technological demonstration of Next.js (React) with a Node.js/Express backend pattern. The app reads product data from MongoDB Atlas, stores uploaded images via the Cloudinary API, and processes credit card payments through the Stripe API. The project is created by Ratnadeep Das Choudhury and is deployed on Vercel; a second version repo (nextjs-pictureland-2.0) is linked from the main page.
Input: user registration details, product listings, image uploads, payment card data. Output: a working storefront with order records, role management, and seller product controls.
The template is aimed at developers learning how the pieces of a modern full-stack JavaScript application fit together: Next.js for rendering and routing, Express-style API routes, Mongo Atlas, Cloudinary, and Stripe. It also works as a starting point for a small image-selling storefront, since it already includes user accounts, product management, and payment flow. Finally, anyone auditing e-commerce patterns can study the admin role-switching and seller-approval workflow.
The demo follows a standard storefront flow: a visitor registers or logs in with JWT-based credentials; an admin can upgrade the user's role; approved sellers can add or remove product listings with images stored on Cloudinary; and a buyer selects a product and pays via Stripe, which generates an order shown in that user's order details.
The live site is a public demonstration project, so the web app itself is free to browse and test; no pricing tiers are stated for the demo. The source code is publicly available on GitHub, with a link to the version 2 repository.
The repository mentions Express, Nodemon, Nodemailer, and nookies as backend packages, so the project uses a custom Node.js/Express-style server layer alongside Next.js rather than relying only on serverless functions.
It integrates the Stripe API, so buyers can pay by credit card on the checkout page. Because it is a demo, you would normally test with Stripe's test-mode card numbers.
Only after an admin changes your role. Once approved, the seller UI appears and you can create new image products and delete existing ones.
