Skip to content

HungryBox is a Tiffin Delivery Service Platform which provides a comprehensive solution for managing tiffin orders, user accounts, and administrative tasks.

License

Notifications You must be signed in to change notification settings

Mahak008/HungryBox

Repository files navigation

HungryBox

Problem Statement

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.

🔗Live Website

User: HungryBox
Admin: HungryBox-Admin

📖Introduction

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.

🔍Features

User Features:

  • 🌎 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.

Admin Features:

  • 📊 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.

Backend Features:

  • 💻 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).

🌍Project Structure

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.

🛠️Getting Started

To get started with HungryBox, follow these steps:

Prerequisites

  • Node.js and npm installed on your machine.
  • MongoDB server running locally or accessible through a cloud service.
  • Stripe account for payment processing.

Installation

  1. Clone the repository:

    git clone https://github.com/your-username/hungrybox.git
    cd hungrybox
    
  2. 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
    
  1. Frontend
  • Navigate to the frontend directory:

    cd ../frontend
  • Install the required npm packages:

    npm install
  • Start the frontend application:

    npm start
    
  1. Admin
  • Navigate to the admin directory:

    cd ../admin
  • Install the required npm packages:

    npm install
  • Start the admin application:

    npm run dev
    

🔧Troubleshooting

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.

🌈Contributing

Contributions are welcome! If you have suggestions or improvements, please follow these steps:

  1. Fork the repository.

  2. Create a new branch:

    git checkout -b feature-branch
  3. Commit your changes:

    git commit -am 'Add new feature'
  4. Push to the branch:

    git push origin feature-branch
    
  5. Open a Pull Request.

Show some ❤️

If you like this project, please give it a ⭐ on Github

About

HungryBox is a Tiffin Delivery Service Platform which provides a comprehensive solution for managing tiffin orders, user accounts, and administrative tasks.

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published