Skip to content

RetroRides – A vintage car marketplace/showroom web app academic project built with PHP, MySQL, HTML, CSS, and JavaScript, featuring machine-learning modules for price prediction, demand forecasting, and personalized car recommendations.

License

Notifications You must be signed in to change notification settings

LT-Ripjaws/retrorides-car-showroom-website

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚘 RetroRides - Vintage Automobile Management System

Contributors Technologies Status

Intro

📖 Overview

A comprehensive web application for managing vintage car collections, sales, and restoration services while offering customers a seamless way to explore, book, and connect.
The Academic project is built with PHP, MySQL, HTML, CSS, and JavaScript using a custom PHP MVC architecture that's similar to Laravel. Overall, it was a great learning experience.


🚗 Features

🌐 Public Features

  • Landing Page – Showcase featured classic cars and services.
  • Car Collection Browser – Browse available vintage automobiles.
  • About Us – Learn about the dealership’s history and team.
  • Contact Page – Get in touch with the team.

👥 User Management

  • User Registration & Authentication
  • Role-Based Access: Customer, Sales, Admin
  • “Remember Me” Sessions – Secure token-based authentication
  • Profile Management

🛡️ Admin Panel

  • Dashboard – Analytics & stats
  • User Management – Activate/deactivate, roles
  • Team Management – Full CRUD for employees
  • Car Inventory – Full CRUD for cars
  • Booking Management
  • Sales Tracking

🧑‍💼 Salesman

  • TO-DO

🧑 Customer

  • Dashboard – Analytics & stats
  • Profile Management
  • Own Booking Management
  • Can book cars

🔒 Security Features

  • CSRF Protection
  • Password hashing (bcrypt)
  • Secure sessions (HttpOnly, SameSite cookies)
  • Input validation & sanitization
  • SQL injection prevention with prepared statements
  • Role-based authorization

✨ Demo & Screenshots

🌐 Public Pages

Landing Page Car-Booking
Landing carbooking
Car Collection About Us
Cars About
Contact Us Authentication
Contact Authentication

🧑‍🤝‍🧑 Customer & Admin Module

Customer pages Admin Pages
customer admin

🛠️ Technology Stack

  • Backend: PHP
  • Database: MySQL
  • Frontend: HTML5, CSS3, Vanilla JS
  • Architecture: Custom MVC + Dependency Injection
  • Security: CSRF tokens, bcrypt, prepared statements

📋 Requirements

  • PHP
  • MySQL
  • Apache/Nginx with mod_rewrite enabled
  • Composer
  • XAMPP

🚀 Installation

# 1. Clone repo:
https://github.com/LT-Ripjaws/retrorides-car-showroom-website.git
cd retrorides

# 2. Install dependencies:
composer install
# then in terminal inside the folder:
composer dump-autoload

# 3. Configure database:
# Import retrorides_db in your xampp's MySQL server.
# Its in the config folder, create a db called retrorides_db, then import the tables from the dump file.

# 4. Make sure xampp is configured:
#   In xammp/apache/conf/httpd.conf make sure <Directory "C:/xampp/htdocs"> has
#   AllowOverride All
#   Require all granted

🗄️ Database Schema

  • 👥 users – Customer accounts
  • 🧑‍🤝‍🧑 employees – Staff members
  • 🚗 cars – Car inventory
  • 📅 bookings – Reservations
  • 🔑 remember_me – Persistent login tokens

🔮 Future Enhancements:

  • ML-based price predictions
  • Predictive analytics dashboard
  • Salesman Module
  • Customer Module

📝 License

This project is licensed under the MIT License

📊 Project Status

🚧 Active development – Version 1.0.0

👤 Author

Chinmoy Guha

Profile Banner

About

RetroRides – A vintage car marketplace/showroom web app academic project built with PHP, MySQL, HTML, CSS, and JavaScript, featuring machine-learning modules for price prediction, demand forecasting, and personalized car recommendations.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published