TechKart is a full-stack e-commerce platform built with the MERN stack. It includes both backend APIs and a modern React frontend to provide a complete shopping experience.
-
Backend (API)
Node.js + Express backend with RESTful APIs, authentication, product & order management, payment integration, and more. -
Frontend (Client)
React-based frontend with Redux Toolkit, infinite scrolling, optimistic UI updates, QR code scanning, and responsive design.
Please refer to the respective README files inside each folder for detailed information about the project:
Before you start, make sure you have the following installed:
- NodeJS
- Docker
- Make sure port 80 is available, or update the port in
docker-compose.yml
git clone [email protected]:subratamondal1029/techkart.git
Use the .env.example(frontend)
& .env.example(backend)
file as a template to create your own .env
files:
PORT=8000
ORIGIN=http://localhost
NODE_ENV=production
cd techkart
docker compose up -d --build # build and up containers
docker cp ./backup/db/ techkart-mongo:./backup/ # copy mongoDB backup
docker exec -it techkart-mongo bash # connect to mongoDB container
mongorestore --uri="mongodb://localhost:27017" --db="techkart" ./backup/techkart/ # restore mongoDB backup
# 537 document(s) restored successfully. 0 document(s) failed to restore.
# if error "0 document(s) restored successfully. 537 document(s) failed to restore. then"
mongosh
use techkart
db.dropDatabase()
exit
mongorestore --uri="mongodb://localhost:27017" --db="techkart" ./backup/techkart/ # restore mongoDB backup
rm -rf backup/* # remove mongoDB backup (optional)
Use the following test accounts to log in and explore the platform features:
Role | Password | |
---|---|---|
user | [email protected] | @1Iamsubrata |
seller | [email protected] | @1Iamsubrata |
shipment | [email protected] | @1Iamsubrata |
delivery | [email protected] | @1Iamsubrata |
Note: These credentials are for testing purposes only. You can also create your own account to explore the full experience.
Special thanks to everyone who contributed to this project.
Here you will explain how other developers can contribute to your project. For example, explaining how can create their branches, which patterns to follow and how to open an pull request
git clone https://github.com/subratamondal1029/techkart.git
git checkout -b feature/NAME
- Follow commit patterns
- Open a Pull Request explaining the problem solved or feature made, if exists, append screenshot of visual modifications and wait for the review!