Skip to content

Latest commit

 

History

History
51 lines (44 loc) · 1.78 KB

Conclusion.md

File metadata and controls

51 lines (44 loc) · 1.78 KB

Conclusions

Categories Commands

  • AddCategory - unique name and parent, parent can be null
  • DeleteCategory - only if empty and dont have subcategories //TODO: check in OpenSearch

Products Commands:

  • CreateProduct
  • ChangeCategory
  • ChangePrice (split this into multiple with additional metadata for eg promo price)
  • ChangeDescription
  • UpdateMetadata - add, remove
  • MarkAsObsolete

Categories Queries - Aurora

  • ByName - first 3 chars
  • AllChildren
  • ById
  • MainCategories - all without parent

GetProducts Queries: - OpenSearch

  • GetById - tested
  • GetPagedByCategory - tested
  • FullTextSearch - name and description - tested
  • FilterByPrice - tested
  • FilterByMetadata - tested

Dynamo

  • GetPriceHistory* - lowest price from 30 last days :D and charts (query from es or create projection for dynamo)

Other

  • moving data to archives - EFS Infrequent Access
  • logs - CloudWatch
  • alarms for errors with mail notification - CloudWatch

Terraform:

  • create IAMs policies for:
    • Aurora (for commands and queries service)
    • OpenSearch (for projection and queries service)
    • Dynamo (for projection and queries service)*
    • ECR (for github - AmazonEC2ContainerRegistryFullAccess, AssumeRole)
    • ECS (for command service)
    • API Gateway (forwards request to lambda)
  • add open search to terraform
  • add CICD for ECR
  • add secrets to gh
  • add background service to ECS from ECR (listener)
  • add lambda to terraform from ECR (commands, queries and projections services)
  • add dynamo to terraform*
  • add api gateway to terraform
  • enable cloudwatch logs for all apps (maybe integrate with xray)