BrickSmasher is a Django-based movie rental management system designed to revive the nostalgia of renting movies on VHS tapes. This software helps store employees manage the rental experience, including account creation, managing movie stock, and renting/returning movies.
- Python 3.8 or higher
- Django 5.0.2 or higher
-
Clone the repository:
git clone https://github.com/dssushruth2000/BrickSmasher-Movie-Rental.git cd BrickSmasher-Movie-Rental
-
Create a virtual environment:
python -m venv venv
-
Activate the virtual environment:
- On Windows:
.\venv\Scripts\activate
- On macOS/Linux:
source venv/bin/activate
- On Windows:
-
Install the dependencies:
pip install -r requirements.txt
-
Apply migrations:
python manage.py migrate
-
Run the development server:
python manage.py runserver
-
Open your browser and go to
http://127.0.0.1:8000/
.
The application provides the following functionalities:
- Create accounts for new members.
- Manage movie inventory.
- Rent and return movies.
- Home (
""
): The home page with links to other pages. - Account Creation (
"account/"
): Page to create a new account. - Manage Movies (
"movie/"
): Page to manage movie inventory. - Rent/Return Movies (
"rent/"
): Page to rent or return movies.
-
Manage Users (
"dbUser/"
):GET
: Expects an email. Returns the user object associated with that email.POST
: Expects an email, first name, and last name. Creates a user in the database with the given info.
-
Manage Movies (
"dbMovie/"
):GET
: Returns an array of all movie objects.POST
: Expects an action ("new", "add", "remove"). Handles movie management actions.
-
Manage Rentals (
"dbRent/"
):GET
: Returns an array of all movie checkouts.POST
: Expects user ID, movie ID, and action ("rent", "return"). Handles movie rental actions.
- User: Represents a user with fields for first name, last name, and email.
- Movie: Represents a movie with fields for title and in-stock quantity.
- Checkout: Represents a rental transaction linking a user and a movie.
Contributions to this project are welcome. Please feel free to fork the repository and submit pull requests.