TurfMania is a comprehensive turf booking platform that connects sports enthusiasts with turf facilities. The application follows a modular architecture with separate interfaces for clients, organization owners, and administrators, creating a seamless experience for all stakeholders involved in the turf booking ecosystem.
- Client Portal: https://turfmania.vercel.app/
- Admin Dashboard: https://turfmania-admin.vercel.app/
- Organization Portal: https://turfmania-organization.vercel.app/
- Explore Turfs: Browse through available turf facilities with detailed information
- Advanced Filtering: Filter turfs based on location using Barikoi service integration
- Review System: Leave reviews and ratings for turfs after usage
- Seamless Booking: Book time slots with a user-friendly interface
- Payment Integration: Secure payment system with options for advance booking
- Onboarding Process: Request to register your organization and turfs on our platform
- Time Slot Management: Robust time slot generator for effective scheduling
- Team Management: Add users to your organization with customized roles and permissions
- Booking Oversight: Track and manage all bookings for your turfs
- Request Processing: Review and process organization registration requests
- Role-Based Access Control: Sophisticated user management system with customizable roles
- Permission Management: Create new roles and assign specific permissions
- Platform Oversight: Comprehensive dashboard to monitor platform activities
- Automated Tasks: Scheduled cronjobs for email notifications and database cleanup
- Framework: Express.js with TypeScript
- Database: MongoDB (implied from structure)
- Authentication: JWT-based authentication
- File Storage: Cloudinary integration
- Deployment: Docker containerization on Azure App Service
- Automation: Scheduled cronjobs for emails and database maintenance
- Framework: Next.js
- Styling: (Based on your project, e.g., Tailwind CSS, Material UI)
- State Management: (Based on your project, e.g., Redux, Context API)
- Deployment: Vercel
The project follows a monorepo structure with:
- Server: Express.js backend with a modular architecture
- Client Portal: Next.js frontend for end users
- Admin Dashboard: Next.js frontend for administrators
- Organization Portal: Next.js frontend for organization management
modules/
├── admin_actions/
├── auth/
├── booking/
├── facility/
├── health-metrics/
├── organization/
├── permission/
├── role/
├── search/
├── sports/
├── timeslot/
├── turf/
├── turf-review/
└── user/
Each module typically contains:
- Controller: Handles HTTP requests and responses
- Model: Defines data structure and database schema
- Service: Implements business logic
- Routes: Defines API endpoints
- Node.js (v14+ recommended)
- npm or yarn
- MongoDB instance
- Cloudinary account (for media storage)
# Clone the repository
git clone https://github.com/your-username/turfmania.git
# Navigate to server directory
cd turfmania/server
# Install dependencies
npm install
# Set up environment variables
# Create a .env file based on .env.example
# Start development server
npm run dev# Navigate to client, admin, or organization directory
cd turfmania/client # or /admin or /organization
# Install dependencies
npm install
# Start development server
npm run devThe application components are deployed as follows:
- Backend: Docker container on Azure App Service
- Frontend Applications: Vercel
Our team follows a structured git workflow:
Detailed documentation is available in our docs folder.
User flow diagrams are available here.

