TAKRUM is a full-stack server-rendered web application developed to provide a smooth and secure online shopping experience for customers while enabling administrators to efficiently manage products, orders, inventory, and users. Customers can browse footwear collections, search and filter products, manage their cart and wishlist, apply coupons, place secure orders, and track their purchases.
The application is built using Node.js, Express.js, MongoDB, and EJS, following the MVC architecture. It includes secure authentication, Google OAuth login, Razorpay payment integration, role-based access control, responsive user interfaces, wallet management, and image management using Cloudinary.
- User registration and login
- Google OAuth authentication
- Browse products by category
- Search and filter products
- View detailed product information
- Shopping cart management
- Wishlist functionality
- Secure checkout process
- Razorpay payment integration
- Coupon and discount support
- Wallet management
- Order history and order tracking
- Product reviews and ratings
- Profile management
- Responsive user interface
- Secure admin authentication
- Dashboard with business statistics
- Product management (Add, Edit, Delete)
- Category management
- Inventory and stock management
- User management
- Order management
- Coupon management
- Sales reporting
- Order cancellation and refund management
- Soft delete and recovery for products and categories
- Server-side rendering using EJS
- MVC architecture
- Session management
- Role-based authorization
- Image upload with Cloudinary
- Pagination
- Product search and filtering
- Secure password hashing using bcrypt
- Form validation
- Helmet and CORS security
- Responsive design using Bootstrap
- EJS
- HTML5
- CSS3
- Bootstrap 5
- JavaScript
- Node.js
- Express.js
- MongoDB
- Mongoose
- JWT
- Passport.js
- Google OAuth 2.0
- Express Session
- Razorpay
- Cloudinary
- Nodemailer
- Multer
- Postman
- Git & GitHub
- Node.js >= 16.x
- MongoDB (Local or Atlas)
- npm
git clone https://github.com/adarsh6282/ecommerce.git
cd ecommercenpm installCreate a .env file in the project root.
PORT=3000
MONGO_URI=your_mongodb_connection_string
SESSION_SECRET=your_session_secret
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret
RAZORPAY_KEY_ID=your_key
RAZORPAY_SECRET=your_secret
CLOUDINARY_CLOUD_NAME=your_cloud_name
CLOUDINARY_API_KEY=your_api_key
CLOUDINARY_API_SECRET=your_api_secretnpm install
npm startThe application will be available at:
http://localhost:3000
TAKRUM/
├── config/
├── controllers/
├── middleware/
├── models/
├── public/
│ ├── css/
│ ├── js/
│ ├── images/
│ └── uploads/
├── routes/
├── services/
├── utils/
├── views/
│ ├── admin/
│ ├── user/
│ ├── partials/
│ └── layouts/
├── app.js
├── package.json
├── .env
└── README.md
- POST
/login - POST
/register - GET
/logout - GET
/auth/google
- GET
/shop - GET
/product/:id
- GET
/cart - POST
/cart/add - POST
/cart/update - POST
/cart/remove
- GET
/wishlist - POST
/wishlist/add - POST
/wishlist/remove
- GET
/wallet
- GET
/orders - POST
/checkout - GET
/order/:id
- GET
/admin/dashboard - GET
/admin/products - GET
/admin/users - GET
/admin/orders - GET
/admin/categories
- AI-powered product recommendations
- Recently viewed products
- Multiple payment gateways
- Product comparison
- Multi-language support
- Progressive Web App (PWA)
Adarsh K P
Full Stack Developer passionate about building scalable and secure web applications using Node.js, Express.js, MongoDB, and JavaScript.
⭐ If you like this project, don't forget to Star the repository on GitHub!