This is a showcase of Terraform good practices, infrastructure is separated into multiple modules, which allows different teams with different expertises to manage the infrastructure
This is app repo, which consists of definitions for AWS EC2 instances, and anything that related to the application. In general practise, one product should have one app repo
Application team will manage this repo