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.
FoodFolio
- Category
- Company
- Location
- Type
- Size
- Item
- Item Variant
- Item Detail
- Warehouse
- Shoppinglist
Twitch
- Api Service
- Bot Service
- Viewer Service
- Messages Service
- Streams Service
- Channel Service
Warcraft
- Api Service
- Guild Service
Co-Working
- Task Service
UI
- Admin UI
- Foodfolio UI
- CoWorking UI
- Warcraft Service
- Blog UI
- Ascend Guild UI
Gateway
- API Gateway
- Azkaban Alerts
- Azkaban Users
- Azkaban SSE
- Warcraft Api
- Warcraft Characters
- Warcraft Guild
- Warcraft Cronjobs
UI
- Docker (Containerization)
- Kubernetes (Orchestration)
- Traefik (Reverse Proxy)
- Kafka (Message Broker)
- Postgres (Database)
- NestJS (Backend Framework)
- Redis (Cache)
- ReactJS (UI)
- Redux-Toolkit (State Management)
- API Alerts (Alerting)
- OpenTelemetry (Tracing)
- SigNoz (Tracing - Visually)
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 event occurred. (Event Driven Architecture)
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 some sort of bidirectional communication), I've decided to use Server Sent Events.