Tuhfa is a full-stack e-commerce web application built with the MERN stack (MongoDB, Express.js, React, Node.js). It provides a seamless online shopping experience for modern fashion clothing and accessories, featuring user authentication, product browsing, shopping cart, and checkout functionalities.
-
User Authentication & Authorization
- Secure signup/login with JWT authentication.
- Role-based access: regular users and admins.
-
Product Management
- Browse products with categories, filters, and search.
- Admins can add, update, or remove products.
-
Shopping Cart & Orders
- Add items to cart, modify quantities, and remove items.
- Place orders with real-time order tracking.
-
Payment Integration
- Supports popular payment gateways (Stripe/PayPal, configurable).
- Secure payment processing with order confirmation.
-
Responsive Design
- Mobile-first design for seamless experience on all devices.
- Modern UI/UX tailored for fashion e-commerce.
-
Admin Dashboard
- Manage products, categories, users, and orders.
- View analytics on sales and user activity.
- Frontend: React, Redux, Tailwind CSS (or your preferred UI library)
- Backend: Node.js, Express.js
- Database: MongoDB
- Authentication: JWT, bcrypt
- Payment: Stripe or PayPal integration
- Deployment: Vercel/Netlify for frontend, Heroku/DigitalOcean for backend (optional)
- Clone the repository
git clone https://github.com/your-username/tuhfa.git
cd tuhfa- Install backend dependencies
cd backend
npm install- Install frontend dependencies
cd ../frontend
npm install- Configure Environment Variables
Create a
.envfile in thebackendfolder with the following variables:
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
STRIPE_KEY=your_stripe_key
- Run the project
# Start backend
cd backend
npm run dev
# Start frontend
cd ../frontend
npm startThe app should now be running at http://localhost:3000.
tuhfa/
├── backend/ # Express server, routes, models, controllers
├── frontend/ # React app with components, pages, redux store
├── README.md
├── package.json
└── ...
Contributions are welcome!
- Fork the repository
- Create a new branch (
git checkout -b feature/YourFeature) - Commit your changes (
git commit -m 'Add some feature') - Push to the branch (
git push origin feature/YourFeature) - Open a pull request






