Skip to content

CricMateAPI is backend API created in django rest framework for CricMate App for providing API Endpoints

Notifications You must be signed in to change notification settings

Manish102003/CricMateAPI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CricMateAPI

Overview

CricMateAPI is a comprehensive backend API built with Django REST Framework that provides endpoints for a cricket coaching and management application. The API facilitates interactions between cricket players and coaches, including user management, event organization, performance tracking, and review systems

Features

🔐 Authentication & User Management

  • JWT-based authentication with access and refresh tokens
  • Custom user model with role-based access (Player/Coach)
  • User registration, login, and profile management
  • Profile photo upload support

👥 Player Management

  • Player profile creation and management
  • Bowling type and arm preferences (Spin/Pace/Medium Pace, Left/Right Arm)
  • Coach-player relationship management
  • Date of birth tracking

📝 Review System

  • Coaches can provide detailed reviews for players
  • Review creation, retrieval, and deletion
  • Player-specific review filtering

🏏 Cricket Events

  • Event creation and management (Coach-only)
  • Event applications by players
  • Location and date tracking
  • Applicant management system[5][6]

🧪 Performance Testing

  • Bowler fitness tests with comprehensive metrics
  • 100-meter time tracking
  • Yo-Yo test levels and beep test scores
  • Shoulder flexibility measurements
  • Time-based filtering for test results

Technology Stack

  • Framework: Django 5.1.1
  • API Framework: Django REST Framework 3.15.2
  • Authentication: JWT (djangorestframework-simplejwt 5.5.0)
  • Database: SQLite (default)
  • Image Processing: Pillow 10.4.0

API Endpoints

Authentication

  • POST /auth/signup/ - User registration
  • POST /auth/login/ - JWT token authentication
  • POST /auth/login/refresh/ - Refresh JWT token

User Management

  • GET/PUT/DELETE /user/ - User profile operations

Player Management

  • POST /players/signup/ - Player profile creation
  • GET /players/details/ - List all players
  • GET/PUT/DELETE /players// - Individual player operations

Reviews

  • POST /review/create/ - Create player review
  • GET /review/ - List user's reviews
  • DELETE /review// - Delete review

Cricket Events

  • GET /events/ - List all events[5]
  • POST /events/create/ - Create new event (Coach only)
  • GET/DELETE /events// - Event details and deletion
  • PUT /events//apply - Apply for event (Player only)
  • GET /events//applicants - List event applicants

Performance Tests

  • GET/POST /tests/bowler - Bowler test management with filtering

Installation

  1. Clone the repository

    git clone https://github.com/Manish102003/CricMateAPI.git
    cd CricMateAPI
  2. Create virtual environment

    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
  3. Install dependencies

    pip install -r requirements.txt
  4. Run migrations

    python manage.py makemigrations
    python manage.py migrate
  5. Create superuser (optional)

    python manage.py createsuperuser
  6. Start development server

    python manage.py runserver

The API will be available at http://localhost:8000/

License

This project is open source and available under the MIT License.

Author

Manish102003 - GitHub Profile

About

CricMateAPI is backend API created in django rest framework for CricMate App for providing API Endpoints

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages