Back to Blog

BiteIt – Modern Canteen Management System

March 5, 2024 (1y ago)Siddharth Jain
ReactNode.jsMongoDBWeb ApplicationFull StackCanteen ManagementStripeProject Showcase

BiteIt is an end-to-end web application that digitizes and streamlines all operations of a modern canteen, catering to both regular users and administrators. It offers a seamless, secure, and efficient way to interact with canteen services, manage orders, and handle daily transactions.


🧑‍💻 User Roles & Permissions

1. Customer/User

2. Administrator


✨ Core Features


🛠️ Tech Stack


🚀 Getting Started

Prerequisites

Installation Steps

  1. Clone the repository:

    git clone https://github.com/siddharth9300/BiteIt.git
    cd BiteIt
  2. Install dependencies for both frontend and backend:

    # For backend
    cd server
    npm install
     
    # For frontend
    cd ../client
    npm install
  3. Set up environment variables:
    Create .env files in both server and client directories as per the provided .env.example or documentation.

  4. Start the development servers:

    # In the backend/server directory
    npm run dev
     
    # In the frontend/client directory
    npm run dev

📁 Project Structure

BiteIt/
├── client/      # Frontend (React, Vite)
│   └── ...
├── server/      # Backend (Node.js, Express, MongoDB)
│   └── ...
├── README.md
├── package.json
└── ...

🔎 Usage Scenarios

For Customers

  1. Browse Menu:
    Access a categorized menu, view detailed descriptions, and filter by preference.
  2. Build Order:
    Add items to cart, modify quantities, and see the running total.
  3. Checkout:
    Enter payment details securely via Stripe, confirm the order, and receive order status updates.
  4. Track Orders:
    View the order progress (preparing, ready, delivered) and order history.

For Administrators

  1. Order Management:
    See all incoming orders, update their status, and manage the order queue in real time.
  2. Menu Management:
    Add new dishes, update prices, remove unavailable items, and upload images.
  3. Analytics:
    Access graphs and statistics about sales, revenue, and customer preferences.
  4. (Optional) User Management:
    View and manage registered users when needed.

🔒 Security & Best Practices


🤝 Contributing

Contributions are welcome! Please open issues or pull requests for improvements or bug fixes.

  1. Fork the repository 🍴
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a pull request 🚀

🪪 License

This project is currently unlicensed. Please add a license if you plan to share or use this code publicly.


For questions or support, please open an issue or contact the repository owner. 🙋