eMart is an open-source e-commerce website template built with Next.js 13 and React, designed to give developers a working storefront with authentication, instant product search, cart management, and Stripe checkout out of the box.
What is eMart?
eMart is a full-stack e-commerce starter project that runs on Next.js and React, using MongoDB for data storage, Prisma as its ORM, Stripe for payment processing, and Algolia for instant product search. It takes environment credentials for these services as configuration input and produces a live storefront where users can sign up or sign in, search and filter products, manage a cart, and complete a Stripe payment. The project is published as a public GitHub repository under the MIT License, with no anonymous author claimed, and the live demo is hosted on Vercel at mshop-seven.vercel.app.
Key Features
- User Authentication — Sign-up, login, and profile management implemented with NextAuth, using the NEXTAUTH_SECRET environment variable for session encryption.
- Instant Product Search — Algolia Instant Search is integrated so shoppers receive fast, type-ahead results as they type into the search box.
- Product Filtering — Products can be filtered by category, brand, and price range on the /products page, making item discovery easier for customers.
- Cart and Checkout — Users can add products to the cart, review their selected items, and proceed through a stripe-hosted checkout flow.
- Stripe Payment Gateway — Card payments are processed securely through Stripe, requiring both STRIPE_SECRET_KEY and NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY in the environment file.
- Bootstrap Styling — The UI is built with Bootstrap, giving responsive layouts and standard components without a CSS framework like Tailwind.
- Vercel Hosting — The live demo runs on Vercel at mshop-seven.vercel.app, and the README's development server runs on http://localhost:3000.
Who is it for?
- Web developers — a practical reference for wiring together Next.js, Prisma, MongoDB, Stripe, and Algolia in a single application, with a working example of each integration.
- Startups and small businesses — a starting point for launching an online store without building an entire e-commerce stack from scratch, since the core shopping flow already exists.
- Students learning full-stack development — a codebase to study real-world patterns like ORM schemas, environment-based configuration, external API integration, and server-side rendering.
- Freelancers — a customizable base for client e-commerce projects, licensed under MIT so reuse in commercial work is permitted.
What can you do with eMart?
- Developers: clone the repository, run npm install, add the required environment variables (MongoDB URL, NEXTAUTH_SECRET, Stripe keys, BASE_URL), and run npm run dev to get a local storefront at http://localhost:3000.
- Store owners: explore the live Vercel demo to test sign-in/sign-up, product search, filtering, cart, and Stripe checkout flows before deciding to customize the code.
- Educators: use the repository's structure and the commented-out screenshots of the home page, login, product search, filtering, product details, cart, and checkout as visual teaching aids.
- Contributors: fork the MIT-licensed repo, extend it with new features, and submit pull requests to improve the project.
How does eMart work?
Running eMart locally is a four-step process described in the README: first clone the repository, then install dependencies with npm install, create a .env file containing the required credentials for MongoDB, Prisma, NextAuth, and Stripe, and finally run npm run dev and open http://localhost:3000. The live demo on Vercel requires no local setup and lets you test the storefront immediately.
Pros and cons
- Pros: Free to use under the MIT license; combines a complete modern stack (Next.js, Prisma, MongoDB, Stripe, Algolia) rather than a frontend-only mock; includes a live Vercel demo to try before you code; has 55 GitHub stars at the time of writing.
- Cons: Requires creating accounts and API keys for MongoDB, Stripe, and Algolia before the app will run; the README's environment variable list omits an Algolia-specific variable, so you may need to add one yourself; no test or production deployment instructions are provided beyond the local dev server.
Pricing
eMart is free and open source under the MIT License, so there are no license fees for using or modifying the code.
FAQ
Is eMart free?
Yes, eMart is licensed under the MIT License, so you can use, modify, and distribute it freely. There are no fees for the code itself; you just need to supply your own credentials for MongoDB, Stripe, Algolia, and NextAuth to run it.
What tech stack does eMart use?
The core stack is Next.js 13 and React.js for the frontend, MongoDB as the database, Prisma as the ORM, Stripe for payments, Algolia Instant Search for product search, and Bootstrap for styling. The live demo is hosted on Vercel.
How do I run eMart locally?
Clone the repository, run npm install, create a .env file with the required credentials (DATABASE_URL, NEXTAUTH_SECRET, Stripe keys, BASE_URL), then run npm run dev and open http://localhost:3000.
Does eMart support Stripe checkout?
Yes, Stripe is integrated as the payment gateway. You need to set the STRIPE_SECRET_KEY and NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY environment variables, and the README includes a screenshot of the Stripe checkout page.
What is the live demo URL?
The live demo is hosted on Vercel at https://mshop-seven.vercel.app/signin-signup, which lets you try the sign-in/sign-up flow, product search, filtering, cart, and checkout without installing anything.





