A modern full-stack e-commerce web application built with React, Spring Boot, and MySQL.
This project includes product management, authentication with JWT, shopping cart functionality, image upload, search, and responsive UI.
- React.js
- React Router DOM
- Context API
- Axios
- Tailwind CSS
- Spring Boot
- Spring Data JPA
- REST API
- JWT Authentication
- Multipart File Upload
- MySQL
- User Signup
- User Login (JWT Authentication)
- Browse Products
- Search Products
- Filter by Category
- View Product Details
- Add to Cart
- Update Cart Quantity
- Checkout Flow
- Add Product
- Update Product
- Delete Product
- Upload Product Image
ecom-project/
├── backend/
│ ├── src/
│ ├── pom.xml
│ └── application.properties
│
├── frontend/
│ ├── src/
│ ├── package.json
│ └── vite.config.jsUpdate application.properties
spring.datasource.url=jdbc:mysql://localhost:3306/ecom_project
spring.datasource.username=root
spring.datasource.password=your_passwordBackend runs on:
http://localhost:8080ppnpm installpnpm run devFrontend runs on:
http://localhost:5173JWT Token based login system.
After login:
- Token stored in localStorage
- Used automatically in protected API requests
Product images are uploaded through multipart form data and stored in database.
POST /api/auth/signup
POST /api/auth/login
POST /api/auth/logoutGET /api/products
GET /api/product/{id}
POST /api/product
PUT /api/product/{id}
DELETE /api/product/{id}
GET /api/product/{id}/image
GET /api/products/search?keyword=- Vercel / Netlify
- Render / Railway
- Railway MySQL / PlanetScale / MySQL Server
- Payment Gateway Integration
- Order History
- Wishlist
- Admin Dashboard
- Email Verification
- Role Based Access
- Better Security with Spring Security
Developed by Joydeep Bhandari
Give it a star on GitHub ⭐