Ecommerce is a full-stack cloud-based shopping platform allowing users to register, browse products, manage cart, place orders via PayPal, and leave reviews. It includes a Spring Boot backend and a Vite-powered React frontend deployed via Firebase.
- ✨ Introduction
- 🚀 Get Started
- 🔐 Environment Variables
- 📂 Project Structure
- 🛠️ Technologies Used
- 🔗 Live Project
Ecommerce is a modern shopping platform that enables users to:
- Register and authenticate
- Browse and search products
- Add, update, and remove items in the cart
- Place and track orders via PayPal
- Post and view product reviews
It is composed of:
- A Spring Boot backend for handling users, products, cart, and orders
- A React (Vite) frontend hosted on Firebase
-
Clone the repo:
git clone https://github.com/quantambites/ecommerce.git cd ecommerce/server -
Install dependencies and run:
-
Using Maven:
./mvnw clean install ./mvnw spring-boot:run
-
Or via your IDE (IntelliJ/VSCode): Run
EcommerceServerApplication.java
-
-
Navigate to frontend directory:
cd ecommerce/client -
Install dependencies:
npm install
-
Set up your environment variables (see below) , remove the firebase hosting files
-
Start the app:
npm run dev
Place in
cloud_in_frontend/.env
VITE_BACKEND_URL=
Place in
cloud_in_backend/src/main/resources/application.properties
spring.application.name=
server.port=
spring.frontend.origin=
spring.cache.type=
spring.redis.uri=
spring.data.mongodb.uri=
spring.servlet.multipart.max-file-size=
spring.servlet.multipart.max-request-size=
cloudinary.cloud-name=
cloudinary.api-key=
cloudinary.api-secret=
paypal.client.id=
paypal.client.secret=
paypal.mode=
.env and .gitignore to keep them secure.
ecommerce/
│
├── server/ # Spring Boot backend
│ └── src/main/java/ # Controllers, Services, Models, Repositories, Config
│
├── client/ # React frontend (Firebase ready)
│ └── src/ # Components, Pages, Redux slices, Utils
│
├── .gitignore
└── README.md
- Frontend: React + Vite + Redux Toolkit + Axios
- Backend: Spring Boot + MongoDB + Cloudinary + Redis
- Auth: Cookie-based JWT Auth
- Database: MongoDB Atlas
- Image Hosting: Cloudinary
- Payments: PayPal (sandbox)
- Caching: Redis cloud
