π ShopX β Full Stack E-Commerce Application
ShopX is a full-stack e-commerce web application built with a strong focus on backend logic, authentication, role-based access, and real-world cart handling. It supports admin and customer roles, multiple carts per user, and a secure admin dashboard.
This project was built end-to-end including frontend, backend, authentication, and admin management.
π Features π€ Authentication & Authorization
-
User registration & login
-
JWT-based authentication using HTTP-only cookies
-
Persistent login using /me route
-
Role-based access control (Admin / Customer)
-
Secure logout
ποΈ Products
-
Product listing
-
Product details page
-
Product images support
-
Category-based products
π Cart System (Advanced)
-
Users can create multiple carts (up to a limit)
-
One active cart at a time
-
Add product to selected cart
-
Cart items with quantity control (+ / -)
-
Auto-remove item when quantity becomes zero
π§βπΌ Admin Dashboard
-
Admin-only protected route
-
Add new products (image upload + category selection)
-
Delete products
-
View all users
-
Delete users (except admin)
-
Clean admin UI with tabs
π§ Tech Stack Frontend
-
React
-
React Router
-
Context API
-
Axios
-
Tailwind CSS
Backend
-
Node.js
-
Express.js
-
MongoDB
-
Mongoose
-
JWT Authentication
-
Multer (file upload)
-
Custom middleware (Auth, Admin)
π Roles
Customer
-
Browse products
-
View product details
-
Create and manage carts
-
Add/remove cart items
-
Manage profile
Admin
-
Access admin dashboard
-
Add & delete products
-
View all users
-
Delete users
πΈ Screenshots
Screenshots are intentionally separated to clearly show functionality.
π§βπΌ Admin β Product Management

π₯ Admin β User Management

π Folder Structure (High Level) frontend/ ββ components/ ββ pages/ ββ context/ ββ routes/
backend/ ββ controllers/ ββ models/ ββ routes/ ββ middlewares/ ββ utils/
π§βπ» Author
Prathmesh Kulkarni


