A web application for managing a car rental business, built with Django with multi-language support (Polish/English).
CarRental is a comprehensive car rental management system that enables:
- Browse available cars by category
- Display detailed vehicle information
- Book cars for logged-in users
- Manage fleet and orders (admin panel)
- Recommendations and ranking of the most popular cars
View of the client-facing homepage and its modular design.
Left: Comprehensive overview of the homepage, featuring personalized recommendations and popularity rankings.
Right: Complete fleet browser displaying all available vehicles by category.
Internal system for administrators to manage fleet, add new vehicles, and configure equipment options.
- Backend: Django 6.0.2
- Frontend: Jinja2 templates
- Database: SQLite (development)
- Programming Language: Python 3.14+
- Additional Libraries:
- Pandas - for data processing
- Pillow - for image management
- NumPy - data operations
All dependencies are located in the requirements.txt file:
- Clone the repository
git clone https://github.com/MacPal2002/CarRental.git
cd CarRental- Create a virtual environment
python -m venv venv
source venv/bin/activate # Linux/Mac
# or
venv\Scripts\activate # Windows- Install dependencies
pip install -r requirements.txt- Navigate to the project directory
cd carrental- Run database migrations
python manage.py makemigrations
python manage.py migrate- Create a superuser (optional)
python manage.py createsuperuser- Run the development server
python manage.py runserver- Open your browser
http://127.0.0.1:8000
CarRental/
βββ carrental/ # Main Django project directory
β βββ carrental/ # Project configuration
β β βββ settings.py # Django settings
β β βββ urls.py # URL routing
β β βββ wsgi.py # WSGI config
β βββ rental/ # Main application
β β βββ models.py # Database models
β β βββ views.py # Views and business logic
β β βββ forms.py # Forms
β β βββ admin.py # Admin panel
β βββ templates/ # HTML templates (Jinja2)
β βββ media/ # Media files (car photos)
β βββ manage.py # Django CLI tool
βββ requirements.txt # Project dependencies
βββ README.md # This file
- Categories: SUV, City-friendly, Off-road, Van, Sports
- Engine Types: Petrol, Diesel, Hybrid, Electric, Hydrogen
- Transmissions: Automatic, Manual, Semi-automatic
- Details: Brand, model, number of seats/doors, engine power, fuel consumption, rental price, vehicle value
- Multiple equipment assignment to cars
- Extended Django user model
- Reservation data handling
- Reservation system with deposit handling (10% of vehicle value)
- Link to user and car
- index - Homepage with recommendations and most popular cars
- cars - List of all cars grouped by category
- car - Single vehicle details
- rent - Reservation form (requires login)
The application supports two languages:
- π΅π± Polish (default)
- π¬π§ English
- Change
SECRET_KEYinsettings.py - Set
DEBUG = False - Configure
ALLOWED_HOSTS - Use a more secure database (PostgreSQL/MySQL)
- Configure proper permissions for media files
The project automatically scales uploaded car photos to 800px width while maintaining a 330.75:186.05 aspect ratio.
Project created for educational purposes.

