Movie Theatre Ticket Booking System Using Golang with Payment Integration
Overview
This project is a Movie Theatre Ticket Booking System built using Golang with integrated payment functionality. Users can log in, sign up, view available theatres, book movie tickets, and make payments through the system.
Features
- Login Route: Allows users to log in using their email and password. Passwords are securely hashed and stored in the database.
- Sign-Up Route: Users can create an account with a username, email, and password. The password is securely hashed before being stored in the database.
- All Theatres: Lists all the theatres that the user has created.
- Add Theatre: Users can add a new theatre to the database.
- Get Movie List by Theatre: Fetches all available movies for a specific theatre using its ID.
- Add Movie: Users can add movies to a theatre.
- Get Available Seats: Lists all available seats for a specific movie using its ID.
- Lock Seat: This route locks the seat in the database after the user selects and pays for it. The payment is divided into two stages: seat selection and payment.
- Verify Payment: Confirms payment for the selected seat and sends the seat details to the user.
Future Enhancements
- Implement middlewares for enhanced security and functionality.
- Fix the issue with seat timing (currently a bug).
- Further improvements (e.g., integration of Redis for caching or other optimizations).
REPO : https://github.com/VallabhaE/TicketBookingSystem-GoLang
Top comments (1)
Saw the chat about building a ticket-booking system in Go, and it reminded me how streamlined online booking has become in general. Different context, but I was recently looking at Umrah tickets and noticed how much smoother the process is with platforms that keep everything simple and upfront. I’ve used SKY Trips Holidays LTD before (skytrips.travel/umrah), and the layout felt a lot less cluttered than most booking sites. Not the same as coding a system yourself, obviously, but it shows how clean design and quick access to available dates can make a huge difference in any ticketing setup.