Skip to content

dog-broad/travel_booking

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

22 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🧳 Travel Booking Application

Welcome to Wanderlust, a comprehensive travel booking application! This Django-based project was developed as part of my assignment for the Software Engineer Intern position I am applying to Travel Lykke. I’ve named the project Wanderlust to capture the spirit of adventure and exploration.

Thank you for exploring the application!

🌟 Project Motivation

This project was created to showcase proficiency in Django, building functional web applications, and understanding travel booking systems. It was created using Django for the backend, Bootstrap for the frontend, and MySQL as the database.

πŸ“¦ Features

  • User Authentication: Register, log in, and manage user profiles.
  • Travel Options: Browse and book various travel options (Flights, Trains, Buses).
  • Booking Management: Make, view, and cancel bookings.
  • Responsive Design: Enhanced with Bootstrap for a clean, modern look.

πŸ› οΈ Deployment

This application is hosted on AWS Lightsail at 15.207.196.96:8000. Unfortunately, I couldn't afford a proper domain name, so I used the free IP address given by AWS Lightsail. The free domain name options were not desirable, so I went let the IP address be.

πŸš€ Getting Started

Prerequisites

  • Python 3.x
  • Django
  • Bootstrap
  • MySQL (or your preferred database)

Setup

  1. Clone the Repository

    git clone https://github.com/dog-broad/travel_booking.git
    cd travel_booking
  2. Create a Virtual Environment

    python -m venv venv
    source venv/bin/activate  # On Windows use `venv\Scripts\activate`
  3. Install Dependencies

    pip install -r requirements.txt
  4. Apply Migrations

    python manage.py makemigrations
    python manage.py migrate
  5. Create a Superuser

    python manage.py createsuperuser
  6. Run the Development Server

    python manage.py runserver

Access the Application

πŸ“„ Usage and Functionality

User Registration

  • Endpoint: /register/
  • Function: Users can create an account, which logs them in and redirects to the travel options page.

User Login

  • Endpoint: /login/
  • Function: Users log in to access the travel options page. Invalid credentials show an error message.

User Logout

  • Endpoint: /logout/
  • Function: Logs out the user and redirects to the landing page.

User Profile Management

  • Endpoint: /profile/
  • Function: Users can view and update their profile information.

Viewing Travel Options

  • Endpoint: /travel-options/
  • Function: Displays available travel options for users to browse and book.

Booking Tickets

  • Endpoint: /book-ticket/<travel_id>/
  • Function: Users can book tickets for a selected travel option, with total price calculated based on seats.

Viewing Bookings

  • Endpoint: /view-bookings/
  • Function: Shows a list of the user’s bookings.

Canceling Bookings

  • Endpoint: /cancel-booking/<booking_id>/
  • Function: Users can cancel a specific booking, updating its status and increasing available seats.

Admin Panel

  • Function: Superusers manage travel options through the Django admin interface.

πŸ› οΈ Tools & Technologies

  • Django: Web framework for building the application.
  • Bootstrap: Front-end framework for responsive design.
  • MySQL: Database for storing data (configurable).
  • Python: Programming language used for development.

To Do

  • Advanced Search: Implement advanced search for travel options.
  • Payment Integration: Add payment gateway support for bookings.
  • User Dashboard: Enhance user profile with booking history and preferences.

πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

🀝 Contributing

Feel free to contribute by submitting issues or pull requests. Your feedback and improvements are welcome!

About

Comprehensive travel booking app with Django, Bootstrap, and MySQL.

Topics

Resources

License

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors