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.
-
Azkaban Services
- Email Service
- Webhook Service
- Zapier
- API Alerts
-
FoodFolio Services
- Category
- Company
- Location
- Type
- Size
- Item
- Item Variant
- Item Detail
- Warehouse
- Shoppinglist
-
Twitch Services
- Api Service
- Bot Service
- Viewer Service
- Messages Service
- Streams Service
- Channel Service
-
Warcraft Services
- Character Service
- Api Service
- Raider IO Service
- WowAudit Service
-
Co-Working Services
- Task Service
-
UI Services
- Admin UI
- Foodfolio UI
- CoWorking UI (Task List Overlay)
- Blog UI
- Azkaban Services
- Twitch Services
- Docker (Containerization)
- Kubernetes (Orchestration)
- Traefik (Reverse Proxy)
- Kafka (Message Broker)
- MariaDB (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 user logged in. (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.