An E-Commerece App to buy your favourite brand shoes and make your footwear collection grow.
More images are located inside documentation directory
- Shopping cart with checkout process.
- User profile with user's previous orders.
- Products pagination, search, place order, and review.
- Seed data (products & users) from the seeder file present.
- Admin functionality to manage and edit user, products and orders.
- Responsive UI.
- Online Payment functionality.
- Delete a User without being admin.
- Filter products based on type and category.
- Image upload when adding a new Product by Admin.
- ⚛️ React
- 🎨 Ant Design
- 📡 NodeJs
- 🗃 MongoDB
- 🏷 TypeScript
To get a local copy up and running follow these simple steps.
Make sure you have Docker and docker-compose installed on your machine.
-
Add environment variable
MONGO_URI
in backend directory. -
Run the following command in the project directory itself.
docker-compose up --build
-
Open http://localhost:8080 to view it in the browser.
Make sure you have Node and TypeScript installed on your machine.
NOTE:
The project was made with node version 14.15.
-
Add environment files in both backend and frontend/web directories.
backend/.env
fileNODE_ENV = development PORT = 5000 MONGO_URI = <URI> JWT_SECRET = <Secret Key>
frontend/web/.env
fileNODE_ENV = "development" REACT_APP_PRODUCTION_API_ENDPOINT = "production_url" REACT_APP_DEVELOPMENT_API_ENDPOINT = "http://localhost:5000"
-
To install all the dependencies run the following command in both backend and frontend/web directory.
yarn install
-
Change the import in
index.css
file to default ant design styles or customize your css in thetheme.less
file and generate your css with the following command in thefrontend/web/src/styles
directory.lessc --js theme.less theme.css
NOTE: Make sure you have installed
less
globally -
Run the following command in the backend directory to start both server and React app.
yarn dev
-
Open http://localhost:3000 to view it in the browser.
This project is licensed under the MIT License - see the LICENSE.md file for details
- Anish Kargoankar's article for React starter template -> link to article
- Brad Traversy's Proshop repository for the backend and frontend flow -> link to repo