Prestige Exotics is a full-stack exotic car inventory web application. The project allows users to view available exotic vehicles and allows an admin to manage the vehicle inventory through a protected admin dashboard.
Prestige Exotics is a full-stack exotic car inventory web application. The project allows users to view available exotic vehicles and allows an admin to manage the vehicle inventory.
-
View exotic car inventory
-
Featured vehicle section on the homepage
-
Admin dashboard
-
Add new vehicles
-
View and manage existing vehicles
-
Upload and display vehicle images
-
React/Vite frontend =======
-
Upload/display vehicle images
-
React frontend
-
Spring Boot backend
-
MySQL database connection
exotic-car-inventory/
<<<<<<< HEAD
|
=======
│
├── frontend/ # React/Vite frontend
│ ├── src/
│ ├── package.json
│ └── vite.config.js
<<<<<<< HEAD
|
=======
│
├── src/ # Spring Boot backend source code
│ └── main/
│ ├── java/
│ └── resources/
<<<<<<< HEAD
|
=======
│
├── pom.xml # Maven/Spring Boot configuration
├── mvnw # Maven wrapper
├── .gitignore
└── README.md
<<<<<<< HEAD
Before running this project, make sure you have the following installed:
- Java JDK 17 or higher
- Node.js
- npm
- MySQL
- Git
- VS Code or IntelliJ IDEA
The backend is built with Spring Boot and runs from the main project folder.
cd exotic-car-inventoryCreate a MySQL database named:
CREATE DATABASE exotic_inventory;Open:
src/main/resources/application.properties
Example local database configuration:
spring.application.name=exotic-car-inventory
spring.datasource.url=jdbc:mysql://localhost:3306/exotic_inventory
spring.datasource.username=root
spring.datasource.password=your_mysql_password
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLDialectReplace your_mysql_password with your actual MySQL password.
From the main project folder, run:
.\mvnw spring-boot:runThe backend should run at:
http://localhost:8080
The frontend is built with React and Vite.
cd frontendnpm installnpm run devThe frontend should run at:
http://localhost:5173
Before logging into the admin dashboard, make sure both the backend and frontend are running.
From the main project folder:
.\mvnw spring-boot:runConfirm the backend is running at:
http://localhost:8080
From the frontend folder:
npm run devConfirm the frontend is running at:
http://localhost:5173
In your browser, go to:
http://localhost:5173/admin/login
You can also use the Admin Login link from the navigation menu if it is available.
Use the current test login credentials:
Username: admin
Password: admin123
After a successful login, the app will redirect you to:
http://localhost:5173/admin/dashboard
From the admin dashboard, you can access:
- Dashboard overview
- Vehicle management page
- Add vehicle page
Use the logout button in the admin sidebar. This removes the admin login status from local storage and returns you to the admin login page.
To view the frontend from another device on the same Wi-Fi/network, run:
npm run dev -- --host 0.0.0.0Vite will show a network URL similar to:
http://192.168.1.25:5173
Use that URL on another device connected to the same network.
git statusgit add .git commit -m "Update project"git pushDo not upload the following folders/files to GitHub:
node_modules/
frontend/node_modules/
target/
frontend/dist/
.env
These should be listed in the .gitignore file.
### Java / Spring Boot ###
HELP.md
target/
.mvn/wrapper/maven-wrapper.jar
!**/src/main/**/target/
!**/src/test/**/target/
### Node / React / Vite ###
node_modules/
frontend/node_modules/
backend/node_modules/
dist/
frontend/dist/
backend/dist/
.env
.env.local
.env.development.local
.env.production.local
npm-debug.log*
yarn-debug.log*
yarn-error.log*
### IDEs ###
.idea/
.vscode/
*.iws
*.iml
*.ipr
### System Files ###
.DS_Store- Add edit vehicle feature
- Add delete confirmation modal
- Add stronger admin authentication
- Add image storage improvements
- Deploy frontend online
- Deploy backend online
- Add search and filter options for inventory
- Add vehicle details page