Managing tiffin services efficiently is a significant challenge for both providers and customers. Providers struggle with handling subscriptions, payments, and order management, while customers often face difficulties in accessing reliable services with transparent pricing and smooth payment processes. HungryBox addresses these issues by providing an integrated platform for managing tiffin orders, subscriptions, and payments seamlessly.
User: HungryBox
Admin: HungryBox-Admin
HungryBox is a comprehensive Tiffin Delivery Service Platform developed using the MERN stack (MongoDB, Express.js, React.js, Node.js) and integrated with Stripe for secure payment processing. This project efficiently handles tiffin orders, user accounts, and administrative tasks, ensuring a seamless experience for both users and admins.
- 🌎 Browse Menu: Explore various tiffin plans, menu items, and pricing options.
- 🍽️ Order Placement: Place orders for your preferred tiffin plans.
- ✨ Secure Payment: Leverage Stripe integration for safe and hassle-free payment processing.
- 🕜 Order History: Access past orders and track current ones with ease.
- 🔐 Profile Management: Update your profile and personal information effortlessly.
- 🌐 Responsive Design: Enjoy a seamless experience across desktop and mobile devices.
- 📊 Dashboard: A user-friendly admin panel to manage orders, users, and menu items.
- 📃 Order Management: View, update, and process customer orders.
- 🖋️ Menu Management: Add, edit, or delete menu items and tiffin plans with ease.
- 💻 API Endpoints: RESTful API endpoints for user authentication, order handling, and menu management.
- 📂 Database Integration: Store user data, orders, and menu items in MongoDB.
- 💳 Stripe Integration: Ensure secure payment processing via the Stripe API.
- 🔒 Authentication: Robust authentication and authorization using JWT (JSON Web Tokens).
The project is organized into three main folders:
admin
: Contains the admin panel for managing orders, users, and menu items.frontend
: The React-based frontend application for users.backend
: The Node.js and Express.js backend managing server-side logic and API requests.
To get started with HungryBox, follow these steps:
- Node.js and npm installed on your machine.
- MongoDB server running locally or accessible through a cloud service.
- Stripe account for payment processing.
-
Clone the repository:
git clone https://github.com/your-username/hungrybox.git cd hungrybox
-
Backend
-
Navigate to the backend directory:
cd backend
-
Create a .env file in the backend directory with the following variables:
MONGO_URI=your-mongodb-connection-string STRIPE_SECRET_KEY=your-stripe-secret-key JWT_SECRET=your-jwt-secret
-
Install the required npm packages:
npm install
-
Start the backend server:
npm run server
- Frontend
-
Navigate to the frontend directory:
cd ../frontend
-
Install the required npm packages:
npm install
-
Start the frontend application:
npm start
- Admin
-
Navigate to the admin directory:
cd ../admin
-
Install the required npm packages:
npm install
-
Start the admin application:
npm run dev
If you encounter any issues during the setup, please check the following:
- Ensure MongoDB is running and accessible.
- Verify your Stripe credentials and environment variables are correctly set.
- Check the console output for any error messages and refer to them for troubleshooting.
Contributions are welcome! If you have suggestions or improvements, please follow these steps:
-
Fork the repository.
-
Create a new branch:
git checkout -b feature-branch
-
Commit your changes:
git commit -am 'Add new feature'
-
Push to the branch:
git push origin feature-branch
-
Open a Pull Request.
If you like this project, please give it a ⭐ on Github