Online Car Dealership
Project submitted to the
SRM University – AP, Andhra Pradesh
for the partial fulfillment of the requirements to award the degree of
Bachelor of Technology
In
Computer Science and Engineering
School of Engineering and Sciences
Submitted by
P Rithin Sai -- AP22110010150
P Siva Rama Krishna Prasad -- AP22110010159
P Anuj Kumar -- AP22110010165
K Bhuvan -- AP22110010173
M Mithesh -- AP22110010195
Under the Guidance of
Dr. V Ramanjaneyulu Yannam
Assistant professor, Dept. Of CSE
SRM University–AP
Neerukonda, Mangalagiri, Guntur
Andhra Pradesh – 522 240
May, 2023
1
CERTIFICATE
Date: 20-04-2025
This is to certify that the work present in this Project entitled
“ONLINE CAR DEALERSHIP” has been carried out by P Rithin
Sai., P Siva Rama Krishna Prasad, P Anuj Kumar, K Bhuvan, M
Mithesh under my supervision. The work is genuine, original, and
suitable for submission to the SRM University – AP for the award of
Bachelor of Technology in School of Engineering and Sciences.
Supervisor
(Signature)
Dr. V Ramanjaneyulu Yannam
Assistant Professor, Department of CSE
1
Acknowledgements
We would like to acknowledge the guidance and support provided
by our mentor and advisor Dr. V Ramanjaneyulu Yannam. Your
wisdom and experience helped steer us in the right direction, and
your feedback was instrumental in refining our ideas and
approaches. I extend my heartfelt thanks to my team members who
collaborated tirelessly, sharing their expertise and insights, and
working together cohesively towards our common goal. Each of
you played a crucial role in shaping the project's outcome, and I am
truly grateful for your contributions. Furthermore, I am thankful
for the resources and opportunities provided by our university,
which enabled us to carry out this project successfully .
2
ABSTRACT
This project, titled Online Car Dealership System, is a web-based
platform developed to facilitate and automate the process of buying
and selling cars online. In today’s digital world, customers prefer the
convenience of browsing and purchasing from the comfort of their
homes.
This system caters to both car dealers and buyers by offering a
unified platform where:
Buyers can browse through various car listings, view car
specifications, compare prices, and make bookings.
Dealers or administrators can manage car inventory, update
listings, monitor transactions, and maintain records.
The system enhances transparency, saves time, and reduces manual
errors through digital processing. It also features a user-friendly
interface, secure login system, and real-time updates of car details,
making it a comprehensive solution for modern vehicle trading.
3
Components
The Online Car Dealership System is composed of several integrated modules, each
handling a specific function:
1. Frontend
Developed using [Link].
Provides a clean, responsive user interface for customers and admins.
Users can easily navigate through car listings, view images, and interact with features
like filters, search, and booking forms.
2. Backend
Implemented in [Link], [Link], it handles the core logic such as form processing,
session management, user authentication, and database operations.
Connects the frontend with the database for a dynamic and interactive experience.
3. Database
Managed through Mongodb.
Stores all essential data like user credentials, car details, booking records, and admin
information.
Ensures data consistency and security.
4. Admin Panel
Dedicated dashboard for the admin to:
o Add, update, or delete car listings
o View user queries and feedback
o Manage registered users and track bookings
5. User Module
Allows users to:
o Browse and filter car listings based on brand, model, price, and type
o View detailed information about each car
o Book test drives or purchases
6. Security Features
Data validation and sanitization to prevent SQL injection and form misuse includes AI
technologies, open AI’s and API’s.
4
Table of Contents
1) Introduction
1.1 Purpose
1.2 Scope
1.3 Definitions, Acronyms, and Abbreviations
1.4 References
1.5 Overview
2) Overall Description
2.1 Product Perspective
2.2 Product Functions
2.3 User Characteristics
2.4 Constraints
2.5 Assumptions and Dependencies
3) External Interface Requirements
3.1 User Interfaces
3.2 Hardware Interfaces
3.3 Software Interfaces
3.4 Communication Interfaces
4) System Features
4.1 Vehicle Listing Management
4.2 Search and Filter Functionality
4.3 Inquiry and Booking System
4.4 Admin Dashboard Features
5) Non-Functional Requirements
5.1 Performance Requirements
5.2 Software System Attributes
5.3 Business Rules
5
6) Other Requirements
6.1 Future Enhancements
7) System Diagrams
7.1 Use Case Diagram
7.2 DFD Level-0, 1, 2
7.3 Activity Diagram
7.4 Class Diagram
7.5 State Diagram
7.6 ER Diagram
7.7 Component Diagram
7.8 Sequence Diagram
8) Testing
8.1 Functional Testing
8.2 Path Testing
8.3 Validation Testing
9) Front-end Description
9.1 React Components Overview
9.2 Routing and Navigation
10) Back-end Description
10.1 [Link] API Endpoints
10.2 MongoDB Data Models
11) Results
11.1 Screenshots of UI Pages
12) Conclusion
13) References
6
1) Introduction
The Online Car Dealership System is a web-based application
designed to simplify and digitize the process of buying and selling
cars. Traditional car dealerships involve time-consuming processes
and limited accessibility, requiring physical visits and manual
paperwork. This project addresses those challenges by creating an
online platform where users can browse, compare, and purchase cars
from the comfort of their homes.
The system provides a convenient interface for both customers and
administrators. Customers can view a wide range of vehicles, access
detailed information, and book cars online. Meanwhile,
administrators can manage inventory, update car listings, and handle
user queries through a centralized dashboard.
This platform aims to bring transparency, efficiency, and
accessibility to the automobile retail industry by leveraging modern
web technologies.
1.1 Purpose
The purpose of this project is to build a full-stack web application for an
online car dealership using the MERN stack (MongoDB, [Link],
[Link], and [Link]).
It enables users to browse available cars, search based on filters, view
detailed information, and contact sellers or dealers.
Admins can manage car listings and users. The platform aims to
streamline the car buying/selling process and bring it online with a
responsive, user-friendly interface.
1.2 Scope
The project encompasses the development of a dynamic web platform
where:
Users can search, view, and inquire about cars.
Admins can manage listings (add, update, delete).
The system includes authentication, secure data handling, and
modern UI components.
7
Data is stored in MongoDB, with images and car specs integrated
in the listings.
The platform is designed to be scalable and can be extended to
support features like online booking, payment gateway
integration, and multi-vendor support in the future.
1.3 Definitions, Acronyms, and Abbreviations
Term Definition
MongoDB, [Link], [Link], [Link] – tech stack used for full-
MERN
stack development
UI/UX User Interface / User Experience
Create, Read, Update, Delete – operations used in database and app
CRUD
logic
JWT JSON Web Token – used for secure authentication
API Application Programming Interface
DB Database
VIN Vehicle Identification Number (unique code for each vehicle)
HTTPS Secure communication protocol used on the web
1.4 References
Sources and technologies referred during development:
MongoDB Documentation
[Link] Official Docs
[Link] Official Docs
[Link] Guide
Sample UI inspiration from online dealership websites such as
CarDekho, Cars24, and Carvana.
8
1.5 Overview
This section gives an outline of what the document/project includes.
Section 1 introduces the goals and scope.
Section 2 describes the application, its users, and functionalities.
Section 3 covers the required interfaces.
Section 4 details system features such as listing, search, and booking.
Sections 5 to 10 describe non-functional aspects, system diagrams,
frontend/backend implementation, testing, results, and conclusion.
9
2) Overall Description
2.1 Product Perspective
This project is a web-based application designed using the MERN
stack. It serves as a digital marketplace for users to buy or explore
cars online and for administrators to manage inventory and user data.
It operates as a standalone platform with potential integration
capabilities like payment gateways, Google Maps (for location
services), and third-party APIs (for insurance or valuation). The
system is cloud-ready, scalable, and mobile-responsive, ensuring users
can access it from any device.
2.2 Product Functions
Key functions of the Online Car Dealership application include:
User Functions:
o Browse cars by make, model, price.
o View detailed car information with images.
o Add cars to wishlist or send booking/inquiry requests.
Admin Functions:
o Add, edit, or delete car listings.
o View and manage user inquiries.
o Dashboard overview with analytics (optional).
System Functions:
o Store and retrieve data using MongoDB.
o Maintain listing metadata (e.g., images, specs, availability).
2.3 User Characteristics
Buyers / General Users
o Can be tech-savvy or new to online platforms.
o Expect an intuitive UI with filters and easy car browsing.
o May use mobile devices more than desktop.
Dealers / Admins
o Need a secure admin panel to manage listings.
10
o Should be able to quickly update vehicle inventory.
o May require analytics on listing views or inquiries.
Cross-User Requirements
o Responsive interface for desktop and mobile.
o Secure user data and car images.
o Accessibility support (readable fonts, alt text, etc.).
2.4 Constraints
Technical Constraints
o Hosted on a limited-resource server (shared or cloud).
o Image uploads should be optimized for performance.
o Users limited to certain requests per minute to avoid abuse.
Design Constraints
o Must work on both mobile and desktop screens.
o Use RESTful APIs for client-server communication.
o Use MongoDB schema design to support flexible car
listings.
Operational Constraints
o Only verified admins can manage listings.
o Listings must not include inappropriate or fake content.
o Application must handle moderate traffic load efficiently.
2.5 Assumptions and Dependencies
Users have access to a stable internet connection.
The app is accessed via modern web browsers (Chrome, Firefox,
etc.).
MongoDB, [Link], Express, and React are properly installed and
configured.
Users are expected to be familiar with basic web browsing.
External modules like image upload (e.g., Cloudinary or local
storage) and authentication middleware are available.
Hosting environment supports HTTPS and [Link] runtime.
11
3) External Interface Requirements
3.1 User Interfaces
The application includes different interfaces for general users and
admin users, designed using [Link] for a responsive and modern
experience.
Home Page
Displays featured car listings, search bar, and navigation options.
Car Listings Page
Shows a grid or list view of available cars with filters for price,
model, year, fuel type, etc.
Car Details Page
Displays detailed specs, images, and a "Book Now" or "Inquire"
button.
Admin Dashboard
Allows the admin to add, edit, or delete car listings, view
inquiries, and monitor activity.
Responsive Design
UI adjusts for desktops, tablets, and mobile devices.
3.2 Hardware Interfaces
Since this is a web-based application, hardware interfaces are
minimal, but deployment/server-side specs are important:
Client-side Requirements
Modern web browser (Chrome, Firefox, Edge, Safari)
Device with basic compute power (PC, smartphone, or tablet)
Server-side Requirements
[Link] runtime environment
MongoDB-compatible database server
Hosting server with:
o Minimum 4 GB RAM
o SSD storage
o Reliable internet connection
o SSL/TLS for secure communications
12
3.3 Software Interfaces
Frontend - Built using [Link], interacting with REST APIs.
Backend - Built using [Link] and [Link] for handling
business logic and routes.
Database - MongoDB is used to store:
o Car listings
o User data
o Bookings/inquiries
Image Upload - Optional integration with Cloud nary or local
storage for car photos.
APIs - RESTful APIs are used for communication between
frontend and backend.
3.4 Communication Interfaces
HTTP/HTTPS Protocol
All communication between the client (browser) and the server
happens over secure HTTP (HTTPS).
RESTful API Endpoints
Examples:
o GET /cars – fetch available cars
o POST /inquiry – submit a booking/inquiry request
o POST /admin/add-car – add new car (admin only)
Security
SSL/TLS encryption is enforced for secure data transmission.
Data Format
JSON is used for all data communication between client and server.
13
4) System Features
4.1 Vehicle Listing Management
Admins can:
Add, edit, or delete car listings.
Upload car images, set specifications (model, brand, year,
mileage, fuel type, price).
Mark listings as available or sold. These operations are performed
via a secure admin panel using CRUD operations handled through
[Link] API and stored in MongoDB.
4.2 Search and Filter Functionality
Users can search cars using:
Keywords (e.g., "Hyundai", "SUV", etc.)
Filters like brand, price range, year, fuel type, and body type.
Sorting options like “Low to High Price” or “Newest First”. Search
results are fetched from the backend using MongoDB query filters
and returned to the frontend dynamically.
4.3 Inquiry and Booking System
users can submit inquiries or booking requests for any car listing.
Inquiry data is saved in the database and visible to the admin in
the dashboard.
Optional feature: email notification to the admin/dealer when a
booking is made.
4.4 Admin Dashboard Features
Overview of total listings, inquiries, and users.
Listing management with options to edit or delete cars.
Inquiry management panel.
Optional: View activity logs or analytics.
14
5. Non-Functional Requirements
5.1 Performance Requirements
UI interactions should respond within 1 second.
Search/filter results should load within 2–3 seconds.
Car image uploads should complete within 3–5 seconds.
Server must handle multiple concurrent users with minimal
latency using optimized API endpoints.
5.2 Software System Attributes
Reliability: System must be available 99.9% of the time.
Scalability: Cloud-deployable and ready for horizontal scaling.
Security: Uses HTTPS and access control.
Maintainability: Modular code structure using React components
and Express controllers.
Portability: Can be run on any [Link] supported hosting (like
Render, Vercel, or Heroku).
5.3 Business Rules
Only registered users can send inquiries or manage favorites.
Admins only can manage car listings.
Inquiries must be stored with timestamps and user info.
Duplicate listings are prevented by checking for existing VIN or
title before adding a new car.
6. Other Requirements
6.1 Future Enhancements
Online payment gateway integration (for booking fee or purchase).
Login/register options are users
Favourite/whichlist option for login-in users
Multi-vendor support where multiple dealers can log in and list cars.
Chat feature between buyer and dealer.
Integration with Google Maps for car location view.
15
7) System Diagrams
7.1 Use Case Diagram
Shows actors (User, Admin) and their interactions:
Dealer: Manage cars, filter, view details, Browse Cars
Customer: Sell cars, Buy Cars, login, book Test Drive/inquire.
7.2 DFD Level-0, 1
Level 0: General data flow between user and system.
Level 1: Breaks down into modules like Login, Listings,
Inquiries.
16
Level 0:
Level 1:
17
7.3 Activity Diagram
Illustrates the sequence of actions for a typical use case like:
User login → Browse → View car → Book → Submit form.
18
7.4 Class Diagram
Represents backend models like:
User, Car, Inquiry, Favorite with relationships (e.g., one-to-many
between User and Inquiry).
19
7.5 State Diagram
Describes the states of a car listing:
Draft → Published → Inquired → Sold
20
7.6 ER Diagram
Describes how the entities (User, Car, Inquiry, Favorites) relate to
each other in the MongoDB structure.
21
7.7 PACKAGE DIAGRAM
Shows system layers:
UI Components (React)
API Routes (Express)
Business Logic (Controllers)
Database (MongoDB)
7.8 Sequence Diagram
Details the flow for an action (e.g., Book a car):
User submits form → API receives request → Data saved in DB
→ Success response sent
22
8) Testing
8.1 Functional Testing
Tests each feature:
Add car
Search/filter
Send inquiry
Save/remove favorite
8.2 Path Testing
Tests logic flow within functions:
Check all paths inside the booking or filter function to avoid edge
case bugs.
8.3 Validation Testing
Ensures required fields are filled in the inquiry form.
Validates data formats (e.g., price must be numeric, email must be
valid).
23
9) Front-end Description
9.1 React Components Overview
Navbar: Global navigation bar display like (Home, Login, Cars,
Dashboard, etc.)
Car Card: A compact card that shows a car’s image, name, price, and
a quick link to view details.
Filter Bar: Allow users to search cars and apply filters like price,
brand, fuel type, etc
Car Details: Single car view
Forms: For login, register, inquiry, Used for user authentication.
Dashboard: Admin interface
o User Dashboard: shows saved favorites, inquiry status.
o Admin Dashboard: manage listings and view inquiries.
9.2 Routing and Navigation
Uses React Router DOM for page navigation
Routes include:
o Home page with featured listings
o /cars – All car listings
o /car/:id – Single car detail page
o /dashboard – User or Admin dashboard (based on role)
o /favorites – Saved car listings (for logged-in users)
Route Protection:
Uses Private Route or similar custom logic to restrict access based on
login status or admin role.
24
10) Back-end Description
10.1 [Link] API Endpoints
Authentication Routes
POST /api/auth/register – Register a new user
POST /api/auth/login – Authenticate a user and return a JWT
Car Listings Routes
GET /api/cars – Retrieve all cars available in the listing
GET /api/cars/:id – Retrieve a single car's details by ID
POST /api/cars – Add a new car listing (admin only)
PUT /api/cars/:id – Update a car listing (admin only)
DELETE /api/cars/:id – Delete a car listing (admin only)
Inquiry Routes
POST /api/inquiries – Submit an inquiry or booking request
GET /api/inquiries – Admin view of all submitted inquiries
Favorites/Wishlist Routes
GET /api/favorites – Get user's saved cars
POST /api/favorites – Add a car to favorites
DELETE /api/favorites/:carId – Remove a car from favorites
10.2 MongoDB Data Models
User: name, email, password (hashed), role
Car: title, description, price, model, year, fuelType, imageURL
Inquiry: userId, carId, message, date
Favorites: userId, carId
25
11) Results
Figure-11: HometPage
Figure-12: Best Cars
26
Figure-13: Browse Cars
Figure-1 4, 5: Book Test Drive, Purchase Form
27
Figure-1 6: Admin Dashboard
Figure-1 7: Car Management
28
Figure-1 8: Purchase Management
29
12) CONCLUSION
The Online Car Dealership MERN Stack Web Application
successfully demonstrates the power and flexibility of full-stack
JavaScript development in building modern, user-centric platforms.
By integrating [Link] for dynamic and responsive UI, [Link]
and [Link] for efficient backend services, and MongoDB for
flexible and scalable data storage, the system offers a complete
solution for browsing, managing, and booking vehicle listings.
This project simplifies the traditionally offline and time-consuming
process of buying a car by bringing it online, making it more
transparent, convenient, and accessible. Users can filter listings, view
detailed specifications, and securely submit booking inquiries, while
administrators can manage the entire inventory and track user interest
through a dedicated dashboard.
Through features like authentication, role-based access, data
validation, and secure API communication, the platform ensures
reliability, usability, and protection of user data. Moreover, its
modular design and maintainable architecture make it easy to upgrade
and scale in the future. Overall, this application is a valuable
contribution toward digital transformation in the automotive sales
industry.
30
13) Future Work
The platform is scalable and can be extended with various features to
enhance user experience and business operations. Potential future
improvements include:
1. Payment Gateway Integration
o Allow users to pay for their inquiries or bookings directly on
the platform.
2. Multiple Vendor Support
o Enable multiple dealers to list cars on the platform, making
it a broader marketplace for various car sellers.
3. Real-Time Chat System
o Add a messaging feature between users and dealers to
facilitate direct communication regarding car inquiries.
4. Mobile App Development
o Develop a mobile application using React Native or Flutter
to further enhance accessibility.
5. Car Review and Rating System
o Implement a system where users can rate and review cars
based on their experiences.
6. Advanced Analytics for Admins
o Add more robust analytics for admins, including car views,
inquiries, and user activity tracking to enhance decision-
making.
7. AI-based Recommendations
o Use machine learning to recommend cars to users based on
their browsing history and preferences.
31