This is a simple waitlist management system for restaurants, retail stores, or any other business that need visitors to line up for services. It allows visitors to add themselves to a waitlist at a kiosk or on their own mobile device. Multiple staffs can handle the waitlist simultaneously. The system will notify visitors when it's their turn.
Introduction video: https://www.youtube.com/watch?v=p1OwccZgKsA
Line Me Up is built with Supabase as the backend and refinejs as the frontend.
-
Clone the repository.
-
Prepare the backend Supabase. To run supabase locally, first follow the guide to install Supabase CLI. After that, follow these steps:
cd supabasesupabase startand note the "API URL" and "anon key". You will need these to configure the frontend in the next step. If you need to see the key again, runsupabase status.supabase migrations upto create the database schema.- If you just want to quickly test the app, you can run
./scripts/init-demo.sh. This will create a few stations and a login user for you. You can find the login email and password incredentials.txtafter running the script.
-
Create a
.envfile (or.env.localfile) in the root of the project.VITE_SUPABASE_URLandVITE_SUPABASE_ANON_KEYwith the values from the previous step.- Optionally you can set
VITE_LOCATION_NAMEandVITE_LOCATION_ADDRESSto customize the location name and address displayed in the app.
-
Run
npm installoryarn installto install the dependencies. -
Run
npm devoryarn devto start the frontend.
- improve and simplify installation
- Add "Service" attribute to a visit (e.g. "Refund & Exchange", "Delivery", "Dinner", "Pickup", etc.)
- Support SMS so visitors can get the post-registration link message and "Your turn" notification via SMS.
- CRUD stations
- Improve CRUD members
- Analytics
- Transfer an active visit to another station
(to be added - how to install and run the whole stack on your own server)