Python Projects

Turf Booking Project using Python and Django

Turf Booking Project using Python and Django

Turf Booking Project using Python and Django

The Turf Booking Project is a Django-based web application created to simplify the process of reserving sports turf slots. It provides a practical workflow in which users can create an account with a phone number, complete OTP verification, log in, choose a booking period, view booking information, and submit feedback. The project uses SQLite3 for data storage and is designed as an intermediate-level college project that demonstrates how a real booking workflow can be organized with Django.

Complete Advance AI Topics: Click Here
Real Time Projects on YouTube:- DecodeIT

Project Overview

ParameterDetails
Project NameTurf Booking Project
Language/s UsedPython, HTML, CSS, JavaScript
FrameworkDjango
DatabaseSQLite3
TypeWeb Application

Project Introduction

Sports turf booking can become difficult when available time periods, customer information, and booking records are handled manually. This project brings those activities into one web interface. A user can register with a mobile number, verify the account through a six-digit OTP, sign in with the phone number and password, and manage turf reservations from a personal dashboard. The application also stores ratings and comments so feedback can be managed along with booking information.

The source concept specifically uses Twilio for OTP delivery. The project keeps that integration as part of the registration workflow while allowing the local demonstration to be tested with a generated OTP. This makes the application suitable for understanding both Django development and external SMS API integration.

Key Features

Phone-Based Registration

The application uses a phone number as the account identifier instead of relying on a traditional email-based registration flow. Password confirmation is checked and duplicate phone numbers are prevented.

OTP Verification

A six-digit OTP is generated during registration. The project concept uses Twilio to deliver this code by SMS. Verification is required before the account is ready for normal use.

Secure Login and Logout

Verified users authenticate with their phone number and password. Django session handling keeps the authenticated area separate from public pages and provides a normal logout flow.

Turf Slot Booking

Users enter their name, phone number, start time, end time, and total amount. The application validates the time range and checks active reservations for overlap before saving a booking.

Booking Dashboard

The dashboard presents a user’s booking history with booking number, time range, amount, and status. A separate confirmation page shows the details of an individual reservation.

Ratings and Feedback

Users can submit a numerical rating and written comment. The system stores the user name, rating, comment, and creation date for administrative review.

Admin Management

The Django admin panel provides management access for user profiles, turf bookings, and ratings. Administrators can search records, filter booking status, and manage invalid entries.

User Roles

User

  • Register with a phone number and password.
  • Verify the account with an OTP.
  • Log in and access the dashboard.
  • Book a turf time period and view confirmation details.
  • Submit a rating and feedback comment.

Admin

  • Access Django administration.
  • Manage registered profiles and verification status.
  • Review turf booking records and statuses.
  • Monitor ratings and feedback.

Download Complete Source Code

Screenshot

Turf Booking Project using Python and Django
Turf Booking Project using Python and Django
Turf Booking Project using Python and Django

Project Modules

The project is organized around authentication, verification, booking, feedback, and administration. Authentication handles registration and login. OTP verification manages the temporary six-digit code. The booking module stores customer details, time ranges, amounts, and status. The rating module records feedback. Django Admin provides centralized management for the stored records.

Technologies Used

Python provides the application logic and Django supplies routing, forms, authentication, sessions, models, and administration. SQLite3 is used for lightweight data storage. HTML and CSS create the web interface, while the templates are ready for JavaScript-based enhancement where needed. Twilio is the external service specified for SMS OTP delivery.

How the System Works

The workflow begins at registration. A visitor enters a phone number and password, the application validates the information, and a temporary six-digit OTP is generated. After successful verification, a Django user and profile are created. The user can then sign in and open the dashboard.

For a reservation, the user enters booking information and submits the form. The application checks that the end time follows the start time and searches for an overlapping pending or confirmed reservation. If a conflict is found, the booking is rejected; otherwise, it is stored with a confirmed status. The user can later open the confirmation page from the dashboard. Feedback is submitted through a separate rating form and stored for management.

Installation and Setup

Open the project in Visual Studio Code and create a virtual environment. Install the required packages and prepare the database with these commands:

python -m venv venv
venv\Scripts\activate
pip install -r requirements.txt
python manage.py makemigrations
python manage.py migrate
python manage.py createsuperuser
python manage.py runserver

After starting the server, open http://127.0.0.1:8000/. The administration interface is available at http://127.0.0.1:8000/admin/. For live SMS delivery, configure the Twilio Account SID, Auth Token, and Twilio phone number in the OTP sending logic. The included local demonstration can be tested with the generated OTP.

Usage

A user registers, completes OTP verification, signs in, opens the dashboard, and books a suitable time range. Booking information remains available through the dashboard, while feedback can be submitted after the turf experience. The administrator uses Django Admin to inspect profiles, bookings, and ratings. This separation keeps normal booking actions simple while giving the administrator centralized record management.

Frequently Asked Questions

Which database is used?

The project uses SQLite3, which is suitable for this college-level Django application.

Does registration use a phone number?

Yes. The phone number is used as the account username in the implementation.

Is OTP verification included?

Yes. A six-digit OTP is generated during registration, with Twilio specified for SMS delivery.

Can overlapping turf slots be booked?

The booking workflow checks active reservations for overlapping times and rejects a conflicting reservation.

Can an administrator manage ratings?

Yes. Ratings and feedback are available in Django Admin for management.

Future Scope

  • Add booking cancellation and refund handling while retaining the current booking workflow.
  • Connect the OTP flow to a configured Twilio account for live SMS delivery.
  • Extend the booking interface with a clearer view of occupied time periods.
  • Improve feedback management while retaining the existing rating and comment model.

Conclusion

The Turf Booking Project demonstrates how Django can support a practical sports-slot reservation application without unnecessary complexity. Phone-based authentication, OTP verification, booking validation, dashboard records, feedback, and Django Admin together form a complete intermediate-level college project. The application gives students hands-on experience with models, forms, sessions, CRUD-oriented administration, validation, and an external SMS service while keeping the code understandable and suitable for further academic development.

Keywords:

Turf Booking System

Turf Booking System

turf booking system project

turf booking system project github

turf booking system github

turf booking in delhi

lawn booking system

turf booking in thane

turf booking in kolkata

turf booking in bangalore

Source Code Available

Interested in This Project?

Get the complete source code for this project at a very affordable price — perfect for your portfolio, college submission, or learning. Message us on WhatsApp and we'll get back to you instantly!

Full source code included Step-by-step setup guide Instant delivery on WhatsApp Instant reply on WhatsApp
Chat on WhatsApp

We usually reply within a few minutes

Leave a Reply

Your email address will not be published. Required fields are marked *

Chat with us