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
- 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 profile creation and management
- Bowling type and arm preferences (Spin/Pace/Medium Pace, Left/Right Arm)
- Coach-player relationship management
- Date of birth tracking
- Coaches can provide detailed reviews for players
- Review creation, retrieval, and deletion
- Player-specific review filtering
- Event creation and management (Coach-only)
- Event applications by players
- Location and date tracking
- Applicant management system[5][6]
- 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
- 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
POST /auth/signup/- User registrationPOST /auth/login/- JWT token authenticationPOST /auth/login/refresh/- Refresh JWT token
GET/PUT/DELETE /user/- User profile operations
POST /players/signup/- Player profile creationGET /players/details/- List all playersGET/PUT/DELETE /players//- Individual player operations
POST /review/create/- Create player reviewGET /review/- List user's reviewsDELETE /review//- Delete review
GET /events/- List all events[5]POST /events/create/- Create new event (Coach only)GET/DELETE /events//- Event details and deletionPUT /events//apply- Apply for event (Player only)GET /events//applicants- List event applicants
GET/POST /tests/bowler- Bowler test management with filtering
-
Clone the repository
git clone https://github.com/Manish102003/CricMateAPI.git cd CricMateAPI -
Create virtual environment
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies
pip install -r requirements.txt
-
Run migrations
python manage.py makemigrations python manage.py migrate
-
Create superuser (optional)
python manage.py createsuperuser
-
Start development server
python manage.py runserver
The API will be available at http://localhost:8000/
This project is open source and available under the MIT License.
Manish102003 - GitHub Profile