Skip to content

kneu-messenger-pigeon/pigeon-app

Repository files navigation

Pigeon app

CI/CD - integration build, testing and deploy Deploy production

Implementation of a bot that sends students notifications with new scores added to the University's electronic journal (based on the engine "Dekanat"). Architecturally it is designed as a cross-platform solution (for any messanger). It provides an internal event bus (Kafka) with new scores events, score data REST API, and a framework to make a bot for any messengers. For now, only the Telegram bot is implemented.

Key points

  1. Microservice architecture
  2. Event-based architecture: Kafka event bus and SQS.
  3. REST API
  4. 100% Unit test coverage
  5. Automatical integration testing. Includes browser automatization for JavaScript.
  6. CI/CD flow:
    • Microservice unit test
    • Microservice image build
    • Build new application docker-compose.yml with latest sha256-hash of docker-images
    • Test application build with integration test
    • Commit new image hashes into docker-conpose.prod.yml
    • Deploy prod
  7. Reliability monitoring: service health check-pinger based connected to docker health check and send health-signal to healthcheck.io service.
  8. Reliability and stability monitoring: VictoriaMetrics with Grafana dashboard and alerting by key product metrics.
  9. Codecov report for code coverage analysis.

Microservices

Service Release status Codecov
gateway Release
init-kafka Release codecov
secondary-db-watcher Release codecov
secondary-db-disciplines-importer Release codecov
secondary-db-lessons-importer Release codecov
secondary-db-scores-importer Release codecov
realtime-capture Release codecov
realtime-importer Release codecov
storage-writer Release codecov
score-storage-api Release codecov
authorizer Release codecov
telegram-app Release codecov
healthcheck-pinger Release codecov

Packages

Package Test status Codecov
victoria-metrics-init Test codecov
score-client Test codecov
score-api Test codecov
fileStorage Test codecov
events .github/workflows/test.yaml codecov
dekanat-events Test codecov
client-framework Test codecov
authorizer-client Test codecov
berejant/go-kneu Test codecov

References

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages