Warning: This project is a Work in Progress and is not yet ready for real world usage
Azkaban is a complete Rewrite of my Microservices at Home.
- Twitch Services
- Co-Working Services
- API Gateway
- User Service
- Group Service
- Authentication Service
- Webhook Service
- SSE Service
- Notification Service
- API Alerts Service
- FoodFolio Services (Category, Company, Item, Item Detail, Item Variant, Location, Type, Size, Warehouse, Shoppinglist)
- Admin UI (Work in Progress)
- Docker (Containerization)
- Kubernetes (Orchestration)
- Traefik (Reverse Proxy)
- RabbitMQ (Message Broker)
- Postgres (Database)
- NestJS (Backend Framework)
- Redis (Cache)
- Prometheus (Monitoring)
- Grafana (Metrics)
Info: The Gateway is the entry point for all requests to the services. It is responsible for routing requests to the correct service and publishes the correct Topic to the Message Broker.
Info: Great Service for Alerting. It is used to monitor the API Post Requests which will notify me on my mobile that something new was created or a specific user logged in.
Info: To have some sort of Realtime Communication between the Services, the SSE Service is used to publish Events to the UI. Since i don't want to use Websockets (and i don't need to have bi-directional communication), i decided to use Server Sent Events.