Skip to content

πŸ” Campus meal ordering & management platform – built with React, Node.js, PostgreSQL, and Docker. Powering efficient food systems for institutions.

Notifications You must be signed in to change notification settings

NeuralAditya/SnackStack

Repository files navigation

SnackStack Logo

πŸ” SnackStack - Campus Meal Ordering & Management System

AGPLv3 License Commercial License SnackStack Contributors Issues Last Commit

React Vite Tailwind CSS Node.js Express.js PostgreSQL Drizzle ORM Passport.js Points Based System Docker Heroku / AWS / DigitalOcean

🍽️ SnackStack is a campus meal ordering system and management platform, built as a Platform as a Service (PaaS). It aims to streamline the process of ordering food in college campuses by providing students and staff with a seamless experience from browsing menu items to managing their orders, all while enabling campus meal providers to efficiently manage their offerings and track sales.

πŸš€ Features

  • πŸ’³ Points System: Operate on a points-based system; points can be easily purchased at your nearest canteen.
  • πŸ§‘β€πŸŽ“ Student Ordering: Browse available meals, add items to the cart, and place orders.
  • πŸ§‘β€πŸ³ Meal Providers Dashboard: Manage meals, pricing, and availability in real-time.
  • πŸ“¦ Order Management: Track order status, cancel, and update orders.
  • πŸ’° Payment Integration: Can be integrated with PalmPay/UPI, etc.
  • πŸ›‘οΈ Admin Control: Monitor system-wide usage, manage users, and analyze sales data.
  • πŸ”” Real-time Notifications: Get updates on meal availability, order status, and more.

πŸ“Έ Screenshots

Home Page

Order Page

🧰 Tech Stack

  • Frontend: React, Vite, Tailwind CSS
  • Backend: Node.js, Express.js
  • Database: PostgreSQL (with Drizzle ORM)
  • Authentication: Passport.js (Local Strategy)
  • Payment Gateway: Points Based System for now
  • Deployment: Docker, Heroku / AWS / DigitalOcean (depending on preference)

πŸ› οΈ Setup & Installation

βœ… Prerequisites

Ensure you have the following installed:

  • Node.js (v16 or later)
  • npm (comes with Node.js)
  • PostgreSQL (or any supported database)
  • Docker (for containerization, if preferred)

πŸ§ͺ Steps to Run the Project Locally

  1. Clone the repository:

    git clone https://github.com/NeuralAditya/SnackStack.git
    cd SnackStack
  2. Install dependencies:

    • For backend:
      cd server
      npm install
    • For frontend:
      cd client
      npm install
  3. Set up environment variables:

    • Create .env files for both client and server, and add the required configurations like database credentials, JWT secret, etc.
  4. Start the backend server:

    npm run dev
  5. Start the frontend server (in a separate terminal window):

    npm run dev
  6. Navigate to http://localhost:5000 to access the application.

πŸ—ƒοΈ Database Setup

Ensure you have PostgreSQL running locally or use a cloud service like Heroku Postgres.

Run the migrations to set up the database schema:

npm run db:push

🀝 Contributing

We welcome contributions! If you'd like to help out, please follow the steps below:

  1. Fork the repository.
  2. Create a new branch for your feature or fix:
    git checkout -b feature/my-new-feature
  3. Make your changes.
  4. Commit your changes:
    git commit -m "Add my new feature"
  5. Push your branch:
    git push origin feature/my-new-feature
  6. Open a pull request to the main branch.

Please ensure your code passes the tests and follows our coding standards before submitting a pull request.

πŸ“„ License

This project is dual-licensed:

  • GNU Affero General Public License v3.0 (AGPLv3) – Open source under AGPLv3; see LICENSE-AGPLv3.txt
  • Commercial License – For commercial use and proprietary licensing, see LICENSE-COMMERCIAL.txt

πŸ‘₯ Contributors


Made with ❀️ by the SnackStack team.

About

πŸ” Campus meal ordering & management platform – built with React, Node.js, PostgreSQL, and Docker. Powering efficient food systems for institutions.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages