introducing the gt movies store

Sep 7, 2025

Introduction

Hi, readers! If you do not know me already, my name is Kevin and I’m currently a student at Georgia Tech studying Computer Engineering. I enjoy building full-stack applications, experimenting with embedded systems, and solving technical challenges through hands-on projects. You can read more about me here.

This post documents my GT Movies Store project, a Django-based web application I developed for Georgia Tech’s Objects & Design course. It highlights the app’s features, the development process I followed, and the skills I gained.

About the GT Movies Store

GT Movies Store is a full-stack Django web application that functions like a small movie e-commerce platform.

Users can:

  • Browse a catalog of movies and search by title.
  • View detailed pages with descriptions, pricing, and reviews.
  • Create accounts, log in, and leave reviews.
  • Add movies to a shopping cart, adjust quantities, and clear items.
  • Place orders, receive confirmation numbers, and view order history.

Administrators can:

  • Manage users, movies, reviews, and orders through the Django admin interface (create, update, delete).

The application features a responsive interface, making it accessible on both desktop and mobile browsers.

By outlining covering all the user stories for this project, the GT Movies Store demonstrates how Django can bring together models, templates, views, and authentication to create a complete and interactive application.

Project Demo Video

Here’s a short demo of the GT Movies Store in action. The video walks through the homepage, about page, movie catalog, user accounts, reviews, shopping cart, orders, administrative features, and more. It highlights the entire user-flow of the application and its clean, responsive design.

Project Process

To build GT Movies Store, I followed a step-by-step tutorial based on the textbook Django 5 for the Impatient: Learn the core concepts of Django to develop Python web applications by Dr. Daniel Correa and Mr. Greg Lim.

This resource guided me through setting up the project, configuring models, and implementing features in an incremental way. By following along, I was able to understand how Django structures a web application from the ground up while still customizing and extending the project to meet the assignment’s user stories.

Key steps included:

  • Setting up the Django environment and project structure.
  • Implementing models for Movies, Reviews, Orders, and Users.
  • Using Django’s built-in authentication system for signup, login, and password confirmation.
  • Creating responsive templates to display home, about, movies, and detail pages.
  • Adding review CRUD functionality and a shopping cart tied to session data.
  • Incorporating an Orders tab with confirmation numbers.
  • Leveraging Django Admin for full backend management.

While the tutorial provided the framework, I applied what I learned to ensure my application covered all required user stories and looked clean and responsive for real users.

Successes & Challenges

One success was getting the shopping cart and orders feature to work smoothly. It required careful handling of Django sessions, ensuring cart data persisted correctly between pages and tied to users upon checkout. This was the most challenging part because I had forgotten an import statement, and it took me a lot longer than it should to realize what the problems were… Seeing the order confirmation page with a unique order number was a big milestone.

There were some challenges as well. Early on, I ran into issues with authentication—especially making sure the signup form confirmed passwords and validated input correctly (I had missed an import line again…). Debugging template logic and authentication redirects took longer than expected. I also had to refine the responsive layout, ensuring it displayed properly on both desktops and mobile devices.

Following the textbook helped me overcome these hurdles by giving me a baseline example, but I still had to debug and adapt the code to my specific project goals.

What I Learned: Web Development & Django

Through this project, I strengthened my skills in full-stack web development with Django. Specifically, I gained experience in:

  • Django fundamentals: models, views, templates, and the ORM.
  • User authentication: handling signups, logins, password confirmation, and protecting user-only features.
  • Frontend templating: integrating Bootstrap with Django’s template system for responsive layouts.
  • E-commerce workflows: implementing a shopping cart and order history.
  • Database relationships: handling one-to-many connections between users, orders, and reviews.
  • Debugging and iteration: tracing issues in forms, sessions, and templates while adapting tutorial examples to my own project.

Final Thoughts

Building the GT Movies Store taught me how to design a complete Django web application that connects backend logic, databases, and frontend design into one cohesive project.

Following a step-by-step tutorial gave me a structured path to learn Django effectively, while customizing the project to meet specific user stories taught me how to adapt examples into real, functional applications.

Looking ahead, I’d like to extend this project with new features such as a recommendation system based on reviews for a more tailored shopping experience.

Overall, this was a valuable experience that gave me both confidence in Django development and a strong project to showcase in my portfolio.