Futuristic city at sunset

CS 2340 · Online project report

GT Movies Store.

A personal web portfolio documenting the design, development process, required user stories, and final demonstration of my CS 2340 Django application.

01 · Introduction

About this project

I'm Joseph Marra, a Georgia Tech computer science honors student studying Intelligence and Devices.

This web page explains what GT Movies Store does, how its screens address the assigned user stories, how I approached development, and what I learned while building it.

Python

Application logic and backend development

Django

Web framework

SQLite

Data storage and access

02 · Application

GT Movies Store

GT Movies Store homepage

GT Movies Store is a Django web app that allows users to purchase movies online. Users have the option to view different movies and their details, leave, edit, delete, and report reviews, and manage their selections through a session-managed shopping cart. They can also view their past order history. Users can create accounts, registered users can log in and purchase movies, and their login persists even after closing the tab. There is also an admin portal for admin users to add, edit, or delete any DB data such as users, movies, or reviews. The project is divided into separate Django apps for the homepage, movie catalog, accounts, and order functionality. SQLite is used for data persistence.

User stories

About

01

As a user, I want to see information about the GT Movies Store so I can learn more about the app and its purpose.

GT Movies Store About page
15

Desktop web access

The application is accessible from any desktop through a web browser and internet connection.

16

Responsive interface

The GUI supports devices with diverse screen sizes. This requirement applies across every feature group.

03 · Process

How I built it

To create this app, I followed the step-by-step guide outlined by the textbook. Because it is easy to program mindlessly when following a tutorial, I made sure to actually understand what was going on before moving on. Also, if the textbook gave an instruction that followed a pattern the textbook had already taught me, I would try it myself first so that I could assess my learning. Sometimes, errors would occur that the textbook had not intended. This meant I made a mistake somewhere down the line and had to fix it. One example of this is misspelling the root application moviesstore as moviestore. This led to me having to change multiple files in the project, and when it came time for deployment, the static file registration command didn't work, so I had to manually change it to the correct spelling and everything that relied on that naming convention. When I had questions or doubts, I would first reread sections of instructions from the textbook to make sure I had proper context for all my issues. Then, I would go back to the fundamentals and try to reverse-engineer issues to resolve them.

04 · Video demonstration

Application demo