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
- 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
| 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 |
- Python 3.8+
- pip package manager
-
Clone the repository
git clone https://github.com/JaimeJr1/moviesstore-main.git cd moviesstore-main -
Create and activate virtual environment
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies
pip install -r requirements.txt
-
Configure environment variables
- Update
SECRET_KEYinmoviesstore/settings.pyfor production - Configure
ALLOWED_HOSTSfor your domain
- Update
-
Run database migrations
python manage.py makemigrations python manage.py migrate
-
Create superuser account
python manage.py createsuperuser
-
Collect static files
python manage.py collectstatic
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
-
Start the development server
python manage.py runserver
-
Access the application
- Open your browser and navigate to
http://127.0.0.1:8000/ - Admin interface:
http://127.0.0.1:8000/admin/
- Open your browser and navigate to
| 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 |
/- 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
python manage.py testThis project follows Django best practices and PEP 8 style guidelines.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Designed and developed by:
© Copyright 2025 8
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:
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 = TrueFile: 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>