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!