A modern, microservices-based restaurant management system built with Go, designed to streamline restaurant operations and enhance customer experience.
- Menu Management: Comprehensive menu management system with categories, items, and pricing
- Guest Management: Track and manage customer information and preferences
- Order Processing: Real-time order tracking and management
- Attendant System: Staff management and task assignment
- Place Management: Table and seating arrangement management
- Guest Check System: Integrated billing and payment processing
The system is built using a microservices architecture with the following components:
- Menu Service: Handles menu items, categories, and pricing
- Guest Service: Manages customer information and preferences
- Attendant Service: Handles staff management and task assignment
- Place Service: Manages table and seating arrangements
- Guest Check Service: Processes orders and payments
- Backend: Go (Golang)
- Database: PostgreSQL
- Message Broker: Apache Kafka
- Containerization: Docker
- Orchestration: Kubernetes (optional)
- API Documentation: Swagger/OpenAPI
- Docker and Docker Compose
- Go 1.18 or higher
- Make (optional, for using Makefile commands)
-
Clone the repository:
git clone https://github.com/yourusername/pinned.git cd pinned -
Set up environment variables:
cp menu/.env.example menu/.env # Repeat for other services as needed -
Start the services:
docker-compose up -d
-
Install dependencies:
go mod download
-
Run tests:
make test -
Start development server:
make run
Each service exposes its own REST API. API documentation is available at:
- Menu Service:
http://localhost:8080/swagger - Guest Service:
http://localhost:8081/swagger - Attendant Service:
http://localhost:8082/swagger - Place Service:
http://localhost:8083/swagger - Guest Check Service:
http://localhost:8084/swagger
We welcome contributions! Please see our Contributing Guidelines for details.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Patrick Ferraz - Initial work - GitHub
- Thanks to all contributors who have helped shape this project
- Inspired by modern restaurant management needs
- Built with best practices in mind for scalability and maintainability
For support, please open an issue in the GitHub repository or contact the maintainers.
⭐ Star this repository if you find it useful!