All-in-one Sports Club Management System (EliteClub) for a single club.
Manage memberships, court bookings, announcements, payments, and more with role-based access and Firebase authentication.
EliteClub is a comprehensive Sports Club Management System tailored for a single sports club. It facilitates seamless user registration, court booking, payment tracking, announcements, and admin functionalities with full authentication, authorization, and real-time data operations.
- 🛡️ Role-based Access Control — Admin / Member / User
- 🔐 Firebase Authentication — Login / Register
- 🎾 Court & Session Booking — With admin approval system
- 👥 Member Management — Firebase user sync
- 🎟️ Coupon System — Smart validation & discounts
- 📢 Announcements — Create and update club news
- 💳 Stripe Payments — Integrated, secure payment tracking
- ⚡ Realtime Feedback — Toasts & modals for instant alerts
- 🧠 SEO Optimization — Dynamic meta tags via Helmet Async
- 💻 Responsive Design — Tailwind CSS + DaisyUI support
| 🛠️ Technology | 💡 Purpose |
|---|---|
| ⚛ React | Frontend UI |
| 🎨 Tailwind CSS + 🌼 DaisyUI | Styling & Components |
| 🔐 Firebase | Auth & Admin SDK |
| 🚂 Express.js | Backend Framework |
| 🍃 MongoDB | Database |
| 🧭 React Router | Client Routing |
| 🧰 TanStack Query | Data Fetching & Caching |
| 💳 Stripe | Payment Integration |
| 🎯 React Icons | Icons |
| 🧠 React Helmet Async | SEO Meta |
| 🔔 React Toast & 💬 SweetAlert2 | Notifications |
- Admin: Full access to manage users, bookings, courts, payments, and announcements.
- Member: Can book courts, view announcements, and apply coupons.
- Guest: Can view public pages, register/login.
📧 Admin Email: [email protected]
🔐 Admin Password: Ban$$Ka05i!
🎯 Visit Live
👉 Open EliteClub Now...
🌟Server Code:
https://github.com/ei-shadi/eliteclub-server
- Clone The Repository For Frontend:
git clone https://github.com/ei-shadi/ElitClub.git
cd eliteclub
npm install # inside root or / client folder- Clone The Repository For Backend:
git clone https://github.com/ei-shadi/EliteClub-Server.git
cd server
npm install # inside root or / server folder- Configure environment variables:
Create a.envfile inside/serverfolder with:
MONGODB_URI=your_mongodb_uri
-
Add Firebase Admin SDK:
Place your Firebase Admin SDK file asfirebase-admin-key.jsonin the/serverfolder. -
👀 Let's Go Live:
cd Eliteclub ✨Client Side
npm run dev
----------------------
----------------------
cd Eliteclub-Server ✨Server Side
node index.js| Method | Endpoint | Description |
|---|---|---|
| GET | /courts |
Get all court data |
| GET | /users?email= |
Get user info by email |
| GET | /bookings/pending, /bookings/approved, /bookings/confirmed |
Get user bookings by status |
| GET | /bookings/pending-all, /bookings/confirmed-all |
Admin: get all bookings |
| GET | /announcements |
Get all announcements |
| GET | /coupons, /coupons/validate?code= |
Get and validate coupons |
| POST | /users, /bookings, /payments, /courts, /announcements, /coupons |
Create entries |
| PATCH | /courts/:id, /coupons/:id, /announcements/:id, /bookings/approve/:id |
Update entries |
| DELETE | /bookings/:id, /courts/:id, /coupons/:id, /announcements/:id, /members/:id |
Delete entries |
| GET | /payments |
Get user payment history |
🔐 Note: Protected routes require Firebase Bearer Token authentication.
EliteClub
