A full-stack eCommerce platform built with Next.js, Nest.js, and MongoDB, featuring AI-powered product management and modern authentication.
- Full-featured shopping cart with:
- server-side persistence for logged in users
- local storage for guests
- Product reviews and ratings system
- Advanced product search with pagination
- User account management & order history
- Secure authentication with JWT (access & refresh tokens)
- Role-based access control (Admin/User)
- AI Product Creator for generating product listings (Vercel AI SDK)
- Image generation for product images (using Replicate)
- Product Development Expert chat interface
- Smart product recommendations
- Modern monorepo structure with apps for web and server
- Type-safe API communication with shared types
- Real-time updates using modern state management
- Cloudinary integration for image management
- Secure payment processing with PayPal and Stripe
- Modern UI with Shadcn components and Tailwind CSS
- Next.js 15 with App Router
- TypeScript
- Tailwind CSS
- Shadcn UI Components
- Framer Motion for animations
- Chat interface with Vercel AI SDK
- Nest.js with TypeScript
- MongoDB with Mongoose
- JWT Authentication
- Swagger API Documentation
- Argon2 for password hashing
- Cloudinary for media storage
- OpenAI integration
- Text Vercel AI SDK
- Replicate for image generation
- Monorepo architecture
- pnpm for package management
- Docker support
- Railway for backend deployment
- Vercel for frontend deployment
- Node.js (v16 or higher)
- pnpm (preferred package manager)
- MongoDB instance (Docker preferred)
Clone the project
git clone https://github.com/NightClover-code/modern-ecommerce.gitGo to the project directory
cd modern-ecommerceRemove remote origin
git remote remove originInstall dependencies (root)
pnpm installAdd Environment Variables - Client
Click to expand!
NEXT_PUBLIC_API_URLOPENAI_API_KEYNEXT_PUBLIC_PAYPAL_CLIENT_IDSTRIPE_SECRET_KEYNEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY
Add Environment Variables - Server
Click to expand!
ALLOWED_ORIGINSPORTJWT_SECRETJWT_ACCESS_SECRETJWT_REFRESH_SECRETCLOUDINARY_CLOUD_NAMECLOUDINARY_API_KEYCLOUDINARY_API_SECRETMONGODB_URIMONGO_USERNAMEMONGO_PASSWORDREPLICATE_API_TOKENOPENAI_API_KEY
Start the server
pnpm start:serverStart the client
pnpm start:webThanks for sharing 🚀
