An open API service indexing awesome lists of open source software.

https://github.com/marwanzaky/next-prisma-ecommerce

next, prisma ecommerce store built from the ground up to deliver speed, security, and scalability.
https://github.com/marwanzaky/next-prisma-ecommerce

jwt nestjs nextjs postgresql redux-toolkit supabase tailwindcss

Last synced: 3 days ago
JSON representation

next, prisma ecommerce store built from the ground up to deliver speed, security, and scalability.

Awesome Lists containing this project

README

          

# MERN e-commerce


mamolio vercel app_ (2)
mamolio vercel app_(iPhone 12 Pro) (3)
mamolio vercel app_(iPhone 12 Pro) (5)

## about
the website project is a modern ecommerce store built from the ground up to deliver speed, security, and scalability. designed with nextjs 16, tailwind 4, nestjs, and postgresql.

- live demo (postgresql): https://mamolio.store
- live demo (mongodb): https://goodies2buy.vercel.app



















## 🛠 stack
- **core**: [nextjs 16.2](https://nextjs.org) + [react 19.2](https://react.dev) + [ts 6.0](https://typescriptlang.org)
- **ui**: [tailwind 4.2](https://tailwindcss.com) + [shadcn/ui](https://ui.shadcn.com)
- **redux**: [redux-toolkit](https://redux-toolkit.js.org)
- **auth**: [jwt](https://www.jwt.io) + [google-oauth-2.0](https://developers.google.com/identity/protocols/oauth2)
- **storage**: [cloudinary](https://cloudinary.com)
- **analytics**: [vercel](https://vercel.com/docs/analytics) + [google-analytics-4](https://developers.google.com/analytics)
- **db**: [prisma](https://www.prisma.io/) ([postgresql](https://www.postgresql.org/)) + [supabase](https://supabase.com/)
- **forms**: [react-hook-form](https://react-hook-form.com/) + [zod](https://zod.dev)
- **tables**: [tanstack-table](https://tanstack.com/table)
- **payments**: [stripe](https://stripe.com)
- **api**: [nestjs](https://nestjs.com) + [swagger](https://swagger.io)

## key features
- **product variants**: option-based variants with selections, inventory, pricing, skus, and images.
- **seller dashboard**: create, edit, and delete products from /store/products.
- **product discovery**: product listing, search, filtering, sorting, categories, and pricing filters.
- **product details**: variant-aware product pages with image galleries, reviews, ratings, and structured metadata.
- **authentication**: email/password auth, jwt sessions, google oauth, email verification, password reset.
- **cart and checkout**: variant-based cart items and Stripe checkout sessions.
- **favorites and reviews**: customer favorites, product reviews, average ratings, and rating distribution.
- **seo: dynamic metadata**, JSON-LD product data, sitemap generation, and semantic page structure.
- **internationalization**: localized routes under /[lang] with translated product text support.
- **pwa support**: installable frontend with web app manifest.

## previews



dynamic product variants


dynamic variant matrix that instantly updates pricing, descriptions, stock levels, and media carousels based on selected options.






product discovery


search, filter, sort, and browse products across responsive layouts.








seller dashboard


manage products from the store dashboard with create, edit, and delete actions.






product editor


create rich product listings with descriptions, media, pricing, and variants.








cart & checkout flow


dynamic variant selection, localized multi-currency pricing, and secure end-to-end payment processing via stripe sandbox.






ai internationalization


automated multi-language localization translating product titles, descriptions, and reviews into en, fr, and ar using LLMs.





## pages
- home: `/`
- products: `/products`
- product: `/products/:id`
- cart: `/cart`
- favorites: `/favorites`
- store: `/store/products`
- signin: `/signin`
- signup: `/signup`
- contact: `/contact`
- account: `/account`

## structure

```txt
.
├── api/ # nestjs backend
├── web/ # nextjs frontend
├── packages/database/ # prisma schema, generated client, shared db types
├── packages/types/ # shared typescript types
├── packages/ui/ # shared ui package
├── packages/eslint-config/
└── packages/typescript-config/
```

## apis
- **products**: product crud, variants, reviews, filtering, and product detail data.
- **carts**: variant-based cart items.
- **payments**: stripe checkout session creation.
- **auth**: signup, login, google oauth, email verification, password reset.
- **users**: profile and password management.
- **categories**: public and admin category apis.
- **favorites**: saved product management.
- **uploads**: media upload support.
- **contact** messages: Contact form and admin message handling.
- **chat**: ai-assisted chat endpoint.

## contact

have questions, feedback, or want to collaborate? feel free to reach out!

- **email**: marouaneezzaky@gmail.com