A MERN Stack web platform to discover, share, and manage innovative tech products like web apps, AI tools, games, and more — inspired by Product Hunt. NexusLaunch allows users to post products, vote, write reviews, subscribe for premium features, and manage roles (User, Moderator, Admin).
- Firebase Authentication (Email/Password + Google)
 - Protected Routes using JWT
 - Role-based access (User / Moderator / Admin)
 
- Register & log in securely
 - Add one product (can add unlimited after subscription)
 - Upvote & review products
 - Report inappropriate products
 
- Review and approve/reject submitted products
 - Mark products as featured
 - Handle reported content
 
- Manage user roles (Make Admin / Moderator)
 - View dashboard statistics via pie chart
 - Manage & advertise coupons
 
- Product submission with owner info, description, tags, external link
 - Upvote system (1 vote/user, owner can’t vote)
 - Tag-based backend search & pagination
 - Featured & trending product sections
 - Coupon-based membership discount (Stripe Integration)
 
- Stripe integration for paid membership
 - Coupon system for dynamic discount via admin panel
 - Membership status shows as "Verified" after payment
 
| Route | Description | 
|---|---|
/ | 
Home (Banner, Featured, Trending, Coupons) | 
/products | 
All Accepted Products with Search + Pagination | 
/product/:id | 
Product Details (Private) | 
/login | 
Login Page | 
/register | 
Registration Page | 
/dashboard | 
Role-based Dashboard | 
/dashboard/add-product | 
Add New Product | 
/dashboard/my-products | 
Manage Own Products | 
/dashboard/review-queue | 
Moderator Queue | 
/dashboard/reported | 
Moderator Reported Products | 
/dashboard/statistics | 
Admin Statistics Page | 
/dashboard/users | 
Admin - Manage Users | 
/dashboard/coupons | 
Admin - Manage Coupons | 
* | 
404 Error Page | 
- 
Frontend:
react-router-domfirebaseaxiossweetalert2react-iconsframer-motion@stripe/react-stripe-js,@stripe/stripe-jsreact-tag-inputreact-hot-toastreact-hook-formrechartslottie-reactjwt-decode
 - 
Backend:
expresscorsmongodbjsonwebtokendotenvstripe
 
VITE_FIREBASE_API_KEY=your_firebase_api_key
VITE_FIREBASE_AUTH_DOMAIN=your_firebase_project_id.firebaseapp.com
VITE_FIREBASE_PROJECT_ID=your_project_id
VITE_FIREBASE_STORAGE_BUCKET=your_project_id.appspot.com
VITE_FIREBASE_MESSAGING_SENDER_ID=your_sender_id
VITE_FIREBASE_APP_ID=your_app_id
VITE_API_BASE_URL=https://nexuslaunch-server.vercel.app
PORT=5000
MONGODB_URI=your_mongodb_uri
JWT_SECRET=your_jwt_secret
STRIPE_SECRET_KEY=your_stripe_secret_key
Add UI screenshots or demo GIFs here to showcase your project visuals.
The goal of NexusLaunch is to simulate a real-world, production-level MERN application that includes user roles, authentication, payment, moderation, search, and product discovery — preparing candidates for professional developer roles.
- Firebase hosting used for the frontend
 - Vercel used for backend deployment
 - Environment variables secured
 - Firebase domain authorized for OAuth & API
 - All private routes use JWT with 
axiosSecureinterceptors - No CORS/404/500 issues on refresh
 - Fully responsive across all devices
 
Email: [email protected]
Password: 123456
Replace with your real demo login before submission.
Feel free to fork, star ⭐, and explore the code!