There are a number of best practices we follow to keep all repositories in a similar structure and make it easy for anybody looking at the code base to know where to look for specific files.
It also allows the re-usability of any build pipelines.
Folder Structure
All code should be added under the src folder, within src there are separate folders for apps, libraries and tests.
Tests
WFD try to follow TDD practices, the name of a unit test project should contain the word UnitTest (e.g. WFD.MyRepo.UnitTests). This allows for the re-use of a standard build pipeline.
Other files
Any other related files (build scripts, docker-compose files etc) should be created from the root of the repository.