Pet project for yet another pomodoro app :) - cloud-first microservices demo application.
- Docker
- kubectl
- Java JDK
- Maven
- Java
- gRPC
- Unit tests
- Deadlines
- Error handling (TBD)
- Logging interceptor
- Cancellation (TBD)
- Health checks (TBD)
- Tracing (Jaeger?) (TBD)
- Metrics (TBD)
- Load balancing (TBD)
- Sagas (TBD)
- mTLS (TBD)
- Authentication (TBD)
- Docker
- Multi-stage build (builder image, RecordService image)
Plans include following technologies into this project:
- Go (Go microservice, Go CLI)
- Kubernetes
- Skaffold or Helm
- Istio
- Monitoring (Stackdriver?)
+--------------+
|Web/App client|
+------+--+----+
| |
| |
+---------------+ | |
|Event Service +----------------+ +--------------------+--------------+
+--+---------+--+ | |
| | | |
| +-------------------+ | |
| | | | |
+-----------+--+ +---+---------+ +------+-------------+ +------+-----+ +-----+------+
|Record Service| |Stats Service| |Achievements Service| |User Service| |Tags Service|
+------+-------+ +------+------+ +---------+----------+ +------+-----+ +------+-----+
| | | | |
| | | | |
+----+----+ +----+---+ +-------+-------+ +---+---+ +---+---+
|Record DB| |Stats DB| |Achievements DB| |User DB| |Tags DB|
+---------+ +--------+ +---------------+ +-------+ +-------+
See this README.md for details.
From the project root folder:
docker build -t ketchapp/app:latest .
cd microservices/recordservice
docker build -t ketchapp/recordservice:latest .
cd ../statsservice
docker build -t ketchapp/statsservice:latest .
cd ../eventservice
docker build -t ketchapp/eventservice:latest .
cd ../achievementservice
docker build -t ketchapp/achievementservice:latest .