Skip to content

Latest commit

 

History

History
41 lines (38 loc) · 1.79 KB

Architectural Plans.md

File metadata and controls

41 lines (38 loc) · 1.79 KB

Architectural Plans

Represents a TODO list of what I want from this project ideally. Every section provides a high to low level requirements.

todo: create proper sections

  • Reactive Manifesto compliance
  • Security, Google login
  • ✅ UI
  • ✅ GraphQL API
  • ✅ Event Sourcing & CQRS
    • ✅ Separate write domain model populating Event Storage
    • ✅ Separate read domain model for each use case building from the Event Storage into NoSQL
  • Maybe Graph/Key-Value databases, cache, distributed locking for interesting use cases
  • ✅ No external services for local/test runs, i.e. all storage is in-memory etc
  • ✅ Reactive programming end to end
  • CI
  • Actual live webpage
  • CD - containerized deploy configuration
  • Monitoring

Tech stack:

  • ✅ Kotlin
  • ✅ Spring all the way: WebFlux, Boot, Data, Security, etc
  • ✅ UI: Vaadin.
    • Chose Because I don't know UI stack and this just uses Java. Might go for an actual front end if have enough time/will to learn
  • ✅ GraphQL-Java module with Kickstart Spring Boot project
    • todo Wait for / contribute RSocket support
  • ✅ Event Sourcing & CQRS abstraction: Axon Framework
  • Axon Server CE as Event Storage and Messaging all-in-one solution
  • ✅ MongoDB
  • docker-compose.yml for one-click local run
  • CircleCI or similar
  • Sonar Cloud as a static analysis tool
  • ✅ Automatic code formatting config
  • Docker and/or Kubernetes and/or CloudFoundry configurations
  • Cloud provider: Pivotal/AWS/Google/Azure/Heroku depends on price
  • Open Tracing Jaeger
  • Micrometer as a metrics framework, can export to a lot of places
  • Dashboard solution: DataDog/Prometheus/AWS CloudWatch/Azure Monitor/New Relic depends on price