Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/trevorblades/sorrento
💈 Website for a Vancouver barbershop
https://github.com/trevorblades/sorrento
barbershop graphql react realtime twilio
Last synced: 16 days ago
JSON representation
💈 Website for a Vancouver barbershop
- Host: GitHub
- URL: https://github.com/trevorblades/sorrento
- Owner: trevorblades
- Created: 2020-04-28T01:57:48.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2023-10-25T02:35:38.000Z (about 1 year ago)
- Last Synced: 2024-10-12T13:14:22.739Z (about 1 month ago)
- Topics: barbershop, graphql, react, realtime, twilio
- Language: TypeScript
- Homepage: https://sorrentobarbers.com
- Size: 2.96 MB
- Stars: 10
- Watchers: 3
- Forks: 1
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Sorrento
Web infrastructure for a local Vancouver barbershop. This repo contains a public website, as well as an SMS-based waitlist API and client built with Twilio and WebSockets.
This project was a collaboration between me and [Ken Taylor](https://github.com/kentaylor92).
## How it works
1. Person texts number with their name
- New customer is created in the database using the body of the text (name) and the "from" phone number
- We automatically reply with the number of people ahead of them in line, and the estimated wait time
- If the shop is not accepting customers, a reply is sent telling the customer this
1. Barber finishes a cut, presses "next customer" button
- First customer in line gets a `servedAt` timestamp added to their row, qualifying them as "served"
- We send a text to the customer's number telling them that they're up next## Tools/services used
- React
- Twilio
- Apollo Client
- Apollo Server
- GraphQL Subscriptions
- Chakra UI
- Next.js
- Express
- PostgreSQL
- Redis## Acknowledgments
- [Ken Taylor](https://github.com/kentaylor92) for pair programming this entire project
- [Matt Cool](https://mattcool.tech) for the design inspiration