Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

5 Commits

Folders and files

Repository files navigation

Movies Store - Django Web Application

A Django-based web platform that provides a movie catalog browsing and review system with community-driven petition functionality and integrated e-commerce features. 1

Features

  • User Authentication: Login, signup, logout, and session management 2
  • Movie Catalog: Browse, search, and view movie details with high-definition streaming capability
  • Review System: Create, edit, and delete movie reviews (authenticated users) 3
  • Petition System: Submit and vote on movie petitions to request new additions
  • Shopping Cart: Add movies to cart and checkout functionality
  • Order Management: View purchase history and order details
  • Admin Reports: Top commenter analytics for staff users
  • Responsive Design: Mobile-friendly interface using Bootstrap 5.3.3

Technology Stack

Component Technology Version
Backend Framework Django 5.0 4
Database SQLite Embedded 5
Frontend Framework Bootstrap 5.3.3
Template Engine Django Templates Built-in
Authentication Django Auth Built-in

Installation

Prerequisites

  • Python 3.8+
  • pip package manager

Setup Instructions

  1. Clone the repository

    git clone https://github.com/JaimeJr1/moviesstore-main.git
    cd moviesstore-main
  2. Create and activate virtual environment

    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
  3. Install dependencies

    pip install -r requirements.txt
  4. Configure environment variables

    • Update SECRET_KEY in moviesstore/settings.py for production
    • Configure ALLOWED_HOSTS for your domain
  5. Run database migrations

    python manage.py makemigrations
    python manage.py migrate
  6. Create superuser account

    python manage.py createsuperuser
  7. Collect static files

    python manage.py collectstatic

Project Structure

moviesstore-main/
├── moviesstore/          # Project configuration
│   ├── settings.py       # Django settings
│   ├── urls.py          # Main URL configuration
│   └── wsgi.py          # WSGI configuration
├── accounts/            # User authentication app
├── movies/              # Movie catalog and reviews app
├── cart/                # Shopping cart functionality
├── home/                # Landing page and about
├── templates/           # Base templates
├── static/              # CSS, JavaScript, images
└── db.sqlite3          # SQLite database

Usage

Running the Development Server

  1. Start the development server

    python manage.py runserver
  2. Access the application

    • Open your browser and navigate to http://127.0.0.1:8000/
    • Admin interface: http://127.0.0.1:8000/admin/

User Access Levels

User Type Features Available
Anonymous Browse movies, view details, login/signup
Authenticated All anonymous features + reviews, petitions, cart, orders
Staff All authenticated features + admin reports and analytics

Key URL Patterns

  • / - Home page
  • /movies/ - Movie catalog with search functionality 6
  • /accounts/login/ - User login
  • /accounts/signup/ - User registration
  • /cart/ - Shopping cart
  • /movies/petitions/ - Movie petition system

Development

Running Tests

python manage.py test

Code Style

This project follows Django best practices and PEP 8 style guidelines.

Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

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

Credits

Designed and developed by:

© Copyright 2025 8

Notes

This README is based on the project's architecture and implementation details from the Django Movies Store application. The application is specifically designed for Georgia Tech students ("Yellow Jackets") with references to campus locations and CS major context in the about page. 9

Wiki pages you might want to explore:

Citations

File: home/templates/home/about.html (L10-30)

                <p>
                    At Movies Store, we offer a vast digital library
                    that spans across genres, ensuring there's
                    something for every Yellow Jacket and movie lover. Browse our
                    extensive collection of films, including the
                    latest releases, timeless classics, and hidden
                    gems - perfect for study breaks between coding sessions
                    or relaxing after those challenging CS assignments. With just a few clicks, you can rent or purchase your favorite titles and instantly
                    stream them in high-definition quality from your dorm
                    in North Avenue or anywhere on the Georgia Tech campus.
                </p>
                <p>
                    Discover the convenience of our digital platform,
                    where you have the flexibility to watch movies
                    on your preferred device, whether it's a smart
                    TV in your Woodruff residence hall, tablet during 
                    those long nights in the Klaus building, or smartphone 
                    while walking across Tech Green. With our intuitive
                    search and recommendation features powered by algorithms
                    any CS major would appreciate, finding your
                    next movie night pick for you and your fellow Yellow Jackets has never been easier.

File: moviesstore/urls.py (L22-28)

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('home.urls')),
    path('movies/', include('movies.urls')),
    path('accounts/', include('accounts.urls')),
    path('cart/', include('cart.urls')),
]

File: movies/templates/movies/edit_review.html (L11-25)

          <form method="POST">
            {% csrf_token %}
            
            <p>
              <label for="comment">Comment:</label>
              <textarea name="comment" required 
                        class="form-control" 
                        id="comment">{{ template_data.review.comment }}</textarea>
            </p>
            
            <div class="text-start">
              <button type="submit" 
                      class="btn bg-dark text-white">Edit Review</button>
            </div>
          </form>

File: moviesstore/settings.py (L4-5)

Generated by 'django-admin startproject' using Django 5.0.

File: moviesstore/settings.py (L22-26)

# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = 'django-insecure-**%(youycw+89990gtn4yr2cnm4l6e^37_+2!=2f0wd(o#!b@t'

# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True

File: movies/templates/movies/index.html (L10-24)

        <p class="card-text">
          <form method="GET">
            <div class="row">
              <div class="col-auto">
                <div class="input-group col-auto">
                  <div class="input-group-text">Search</div>
                  <input type="text" class="form-control" name="search">
                </div>
              </div>
              <div class="col-auto">
                <button class="btn bg-dark text-white" type="submit">Search</button>
              </div>
            </div>
          </form>
        </p>

File: moviesstore/templates/base.html (L107-110)

                        DESIGNED BY
                        <a href="https://www.x.com/jaimealonso" target="_blank">JAIME ALONSO</a> &
                        <a href="https://www.x.com/jaimealonsotm" target="_blank">Jaime Alonso TM</a>
                    </span>

File: moviesstore/templates/base.html (L112-114)

                <div class="text-white">
                    <span>© Copyright - 2025</span>
                </div>

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages