$ man cinemadd

NAME

Cinemadd - Cinema Booking Simulator

SYNOPSIS

A Django based demo application that models a real cinema booking flow, from viewing available screenings to selecting and reserving seats. It integrates PostgreSQL for data handling and Django Testing Tools to ensure project integrity and reduce future errors.

DEV NOTES

The main objective of this project was to learn, and that was achieved by trying a more realistic data modeling with more defined business rules. The most difficult part of the project was by far, managing the status of each seat selected for reservation. I wasn't entirely clear on the steps to follow to reserve the seats that the user wanted. The process of obtaining the correct seats associated with each reservation proved to be more complicated than anticipated. I solved it by separating the problem into parts, retrieving the users inputs, curating the information, performing a search of all related seats considering availability, and finally creating the seat reservation temporarily until the payment is confirmed, all under atomic transactions to ensure the integrity of the payments. Maybe the most important thing I learned was to structure the system first. Having a clear action plan makes it easy to follow it when programming. On a more technical note, I learned to make better use of the Django Testing Tools to ensure the project functions correctly. Seats are currently reserved in the database for 5 minutes. If a reservation isn't filled for any reason, a script to release those seats and make them available again would likely be the next step in improving this project. Additionally, implementing Stripe as a payment processor could be considered.

IMAGES

Movies List
Fig. Cinema's Movies List

AUTHOR

Brian Magaña

SEE ALSO

Link to repository: github.com/BrialexMaga/cinemadd