A dine-in cafe ordering system where users sign up, view the menu, and place orders at the counter. Counter admins manage the menu, confirm payments and manage orders. Also user is notified about order status via email/SMS
- ✅ Users can sign up, log in, and view menu securely
- ✅ Users can update their profiles (e.g., name, contact details)
- ✅ Counter admins can add, update, or delete menu items
- ✅ Counter admins can place / cancel the orders
- ✅ Orders are sent to the kitchen/barista workers for preparation
- ✅ The system updates order status as Placed → Preparing → Ready to Serve
- ✅ Users receive SMS/Email notifications for order status updates
- The system logs transactions for reporting and analytics
- Counter admins can view daily sales reports
- Microservices-based architecture for scalability
- gRPC for fast and secure inter-service communication.
- Event-driven worker system using RabbitMQ for asynchronous processing
- Language: Golang
- Framework: Gin
- Database: PostgreSQL
- Messaging Queue: RabbitMQ
- Authentication: JWT
- Containerization: Docker
- Orchestration: Kubernetes (TODO)