Skip to content

Latest commit

 

History

History
48 lines (34 loc) · 1.58 KB

readme.md

File metadata and controls

48 lines (34 loc) · 1.58 KB

Reason for architecture:

  • chosen microservice. Separate Auth/Resource servers. Admin FE separate service. Implementation includes only resource server.
  • separate cache server for keeping the load mentioned in the task, allowing horizontal scaling. Only used by admin part of service
  • MySQL as persistence layer. No specific requirements in the task, one of those easier to work with.
  • containerizing with docker, allowing for automated CI/CD.
  • GitHub - VCS solution.
  • GitHub Actions - automated build, containerizing, pushing to docker hub.
  • Spring Boot main framework
  • Spring Security and Spring OAuth2 Resource Server authentication/authorization management
  • Spring Cloud properties refresh (Cloud Config server not implemented)

Risks:

  • no logging or monitoring setup (no requirements)
  • security config is for demo
  • db volume is not externalized from container intentionally
  • if project will grow admin part might be separated from client-facing part to another microservice
  • @RefreshScope not activated due to lack of Cloud Config server

Source-code:

Pre-compiled package:

Set-up guide:

Note:

considered unfinished due to lack of time.