ContestHub is a modern, fully responsive web application for managing creative contests. Users can create, discover, participate in, and manage contests in various categories like design, writing, gaming reviews, and more. The platform supports three user roles (Admin, Contest Creator, Normal User), secure authentication, payment integration, and dynamic dashboards.
| Role | Password | |
|---|---|---|
| Admin | [email protected] | Samim123 |
| Creator | [email protected] | Samim123 |
| User | [email protected] | User..... |
- Fully responsive design (mobile, tablet, desktop)
- Secure authentication using Firebase
- Role-based dashboards: Admin, Creator, and User
- Payment integration with Stripe
- Smooth UI with Tailwind CSS
- Sweet Alert notifications for all CRUD actions
- Dynamic search and filtering by contest types
- Winner announcement and recent winners section
- Submit tasks after contest registration
- Dark/Light mode toggle saved in localStorage
- Approve, reject, and delete contests
- Manage users and change roles (User ↔ Creator ↔ Admin)
- View platform statistics: total users, creators, contests, earnings
- Add new contests with detailed forms
- Edit or delete pending contests
- View submissions and declare winners
- Track created contests and status
- View participated contests and payment status
- View won contests and prizes
- Update profile information (name, photo, bio)
- Track win percentage with charts
- Leaderboard showing top users by contest wins
- Pagination (10 items per page) on tables
- Two extra meaningful pages (configurable)
- Nice animations and interactive UI
Frontend: React.js, React Router, Tailwind CSS, React Query, React Hook Form
Backend: Node.js, Express.js, MongoDB, Firebase Auth
Payment: Stripe API
Deployment: Vercel / Netlify (Frontend), Vercel (Backend)
cd server
npm install
cp .env.example .env # Add your environment variables
npm run dev