https://github.com/neuraladitya/snackstack
๐ Campus meal ordering & management platform โ built with React, Node.js, PostgreSQL, and Docker. Powering efficient food systems for institutions.
https://github.com/neuraladitya/snackstack
campus canteen docker drizzle-orm express food-tech fullstack meal-ordering nodejs paas passportjs postgresql react tailwindcss vite
Last synced: about 1 month ago
JSON representation
๐ Campus meal ordering & management platform โ built with React, Node.js, PostgreSQL, and Docker. Powering efficient food systems for institutions.
- Host: GitHub
- URL: https://github.com/neuraladitya/snackstack
- Owner: NeuralAditya
- Created: 2025-04-22T18:29:41.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2025-04-22T19:33:04.000Z (about 1 month ago)
- Last Synced: 2025-04-23T03:57:12.750Z (about 1 month ago)
- Topics: campus, canteen, docker, drizzle-orm, express, food-tech, fullstack, meal-ordering, nodejs, paas, passportjs, postgresql, react, tailwindcss, vite
- Language: TypeScript
- Homepage: https://snackstack.onrender.com/
- Size: 3.44 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: license/LICENSE-AGPLv3.txt
Awesome Lists containing this project
README
![]()
# ๐ SnackStack - Campus Meal Ordering & Management System
[](https://www.gnu.org/licenses/agpl-3.0.en.html)
[](LICENSE-COMMERCIAL.txt)
[](https://github.com/NeuralAditya/SnackStack)
[](https://github.com/NeuralAditya/SnackStack/graphs/contributors)
[](https://github.com/NeuralAditya/SnackStack/issues)
[](https://github.com/NeuralAditya/SnackStack/commits/main)
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
๐ฝ๏ธ 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


## ๐งฐ 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](https://nodejs.org/) (v16 or later)
- [npm](https://npmjs.com/) (comes with Node.js)
- [PostgreSQL](https://www.postgresql.org/) (or any supported database)
- [Docker](https://www.docker.com/) (for containerization, if preferred)### ๐งช Steps to Run the Project Locally
1. **Clone the repository:**
```bash
git clone https://github.com/NeuralAditya/SnackStack.git
cd SnackStack
```2. **Install dependencies:**
- For backend:
```bash
cd server
npm install
```
- For frontend:
```bash
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:**
```bash
npm run dev
```5. **Start the frontend server (in a separate terminal window):**
```bash
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](https://www.heroku.com/postgres).
Run the migrations to set up the database schema:
```bash
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:
```bash
git checkout -b feature/my-new-feature
```
3. Make your changes.
4. Commit your changes:
```bash
git commit -m "Add my new feature"
```
5. Push your branch:
```bash
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](license/LICENSE-AGPLv3.txt)
- **Commercial License** โ For commercial use and proprietary licensing, see [LICENSE-COMMERCIAL.txt](license/LICENSE-COMMERCIAL.txt)## ๐ฅ Contributors
- **Aditya Arora** - [GitHub Link](https://github.com/NeuralAditya)
- **Brijesh Gupta** - [Email For Commercial Use](mailto:[email protected])
- **Nikhil Gupta** - [Contributor & Liason](mailto:[email protected])---
Made with โค๏ธ by the SnackStack team.