Welcome to the Delta Eats GraphQL API repository! This GraphQL API is designed to simplify the process of ordering food from a single restaurant for students at Delta School. It also provides WebSocket connections to alert waiters at the restaurant about new food orders.
Delta Eats GraphQL API is a web-based service developed exclusively for Delta School students to order food from a selected restaurant. It streamlines the ordering process, provides real-time updates on order status, and offers WebSocket integration to notify restaurant staff when a new order is placed.
- User Authentication: Secure authentication system for students to create accounts and log in.
- Restaurant Selection: Choose a specific restaurant to place an order.
- Order Placement: Place food orders with specific customization options.
- Real-time Updates: Receive notifications about the order's status, from preparation to delivery.
- WebSocket Integration: Connect to ESP boards to alert restaurant staff about new food orders.
To get started with the Delta Eats GraphQL API, follow these steps:
-
Clone the Repository:
git clone https://github.com/your-username/delta-eats-API.git
-
Install Dependencies:
Navigate to the project directory and install the required dependencies:
cd delta-eats-API # Run your Go package manager command (e.g., go mod tidy, go get, etc.) here.
-
Run the Application:
Start the API server on the default port 8080:
go run main.go
-
Access the API:
The GraphQL API is accessible at http://localhost:8080/graphql. You can use tools like Postman, GraphQL Playground, or any GraphQL client to interact with the API.
This GraphQL API is designed to be flexible and allows you to tailor your queries and mutations to fit your specific use case. You can explore and interact with the API through the GraphQL Playground at http://localhost:8080/graphql after starting the server.
Here are some basic GraphQL operations:
- Query for available restaurants.
- Create a new order.
- Subscribe to real-time updates about order status.
The WebSocket integration is used to notify restaurant staff when a new food order is placed. When a student places an order, the ESP board at the restaurant will receive a notification, allowing waiters to promptly attend to the order.
To set up WebSocket integration, please refer to the WebSocket documentation provided in this repository.
We welcome contributions from the open-source community. If you'd like to contribute to the Delta Eats GraphQL API project, please follow our contributing guidelines.
This project is licensed under the MIT License. See the LICENSE file for details.
Thank you for using the Delta Eats GraphQL API! If you have any questions or encounter issues, please don't hesitate to create an issue or reach out to us. Happy coding!