Skip to content

Learnathon-By-Geeky-Solutions/devorbit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

765 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TurfMania

TurfMania Logo

Your Game, Your Turf, Your Time

Express.js TypeScript Next.js MongoDB Docker Azure Vercel Node.js

Overview

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.

Live Demos

Features

For Users

  • 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

For Organizations

  • 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

For Administrators

  • 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

Tech Stack

Backend

  • 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

Frontend

  • 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

Project Structure

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

Backend Module Structure

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

Getting Started

Prerequisites

  • Node.js (v14+ recommended)
  • npm or yarn
  • MongoDB instance
  • Cloudinary account (for media storage)

Backend Setup

# 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

Frontend Setup

# Navigate to client, admin, or organization directory
cd turfmania/client  # or /admin or /organization

# Install dependencies
npm install

# Start development server
npm run dev

Deployment

The application components are deployed as follows:

  • Backend: Docker container on Azure App Service
  • Frontend Applications: Vercel

Development Workflow

Our team follows a structured git workflow: Git Workflow

Documentation

Detailed documentation is available in our docs folder.

User flow diagrams are available here.

Team

License

MIT License

About

Repository for team DevOrbit

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages