KICKS is a full-stack shoe e-commerce project with:
- a React + Vite frontend (
client) - a Node.js + Express + MongoDB backend (
server)
It includes user auth, product browsing, cart and checkout flow, profile management, and admin management modules.
- React (Vite)
- React Router
- Context API
- Tailwind CSS
- Axios
- React Hook Form + Yup
- Recharts
- Node.js
- Express
- MongoDB + Mongoose
- JWT auth
- Express Validator
Kicks/
├── client/ # Frontend app (Vite + React)
├── server/ # Backend API (Express + MongoDB)
└── README.md
- Node.js 18+
- npm 9+
- MongoDB Atlas URI or local MongoDB instance
Create a server/.env file:
PORT=5000
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_secure_jwt_secret
JWT_EXPIRE=30d
NODE_ENV=developmentCreate a client/.env file:
VITE_API_URL=http://localhost:5000/apiFrom the project root, install dependencies in both apps:
cd server
npm install
cd ../client
npm installUse two terminals.
cd server
npm run devServer runs on: http://localhost:5000
cd client
npm run devClient runs on: http://localhost:5173
cd server
npm run seed- Email:
admin@kicks.com - Password:
admin123
- Email:
kaushal@example.com - Password:
password123
Frontend uses this value from client/.env:
VITE_API_URL=http://localhost:5000/apinpm run dev- start API servernpm run start- start API servernpm run seed- seed database
npm run dev- start Vite dev servernpm run build- production buildnpm run preview- preview buildnpm run lint- run ESLint