This is a full-stack medicine e-commerce website built using the MERN (MongoDB, Express.js, React.js, Node.js) stack. This project is built for the Techshila 2024 - Inter Bhawan Tech Competition organised by STC, IIT Roorkee. The website allows users to browse, search, and purchase medicines online as well as manage inventory and controls for the CEO and Store manager roles.
- User authentication (signup, login, logout)
- Three roles for authentication - "CEO", "Store manager" and "User"
- Product browsing and searching
- Shopping cart functionality
- Secure payment gateway integration
- Order history and tracking
- Admin dashboard for managing products and orders
- Adding and managing inventories
- Account management
-
Frontend
- React.js
- Zustand (for state management)
- React Router (for routing)
- TailwindCSS (for styling)
- Leaflet (for maps)
- Lucide-react (for Icons)
-
Backend
- Node.js
- Express.js
- MongoDB (with Mongoose ODM)
- Bcrypt (for password hashing)
- Jsonwebtoken (JSON Web Tokens) for authentication
- Razorpay API (for payment processing)
- Crypto (for verifying signature)
- Node.js and npm installed
- MongoDB installed locally or a MongoDB Atlas account
-
Clone the repository:
git clone https://github.com/amratansh12/Techshila-2024.git
-
Navigate to the project directory:
cd client cd server
-
Install dependencies:
npm install
-
Start the backend server:
cd server npm run dev
-
Start the frontend development server:
cd client npm run start
-
The application will be running at
http://localhost:3000
.
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.