Project Structure
Although TAP is a Play project, the project structure is that of a Maven/sbt project and does not follow the Play default project structure.
The build.sbt file indicates that we are using an alternative project structure to Play.
disablePlugins(PlayLayoutPlugin)
PlayKeys.playMonitoredFiles ++= (sourceDirectories in (Compile, TwirlKeys.compileTemplates)).value
This project is laid out in an MVC structure (Model, View and Controller).
There are 2 main components to this project, * The front end (Client) * The back end (Server)
The following is a run down of the most relevant files in the project.
- app - Contains the controllers, models and views.
- controllers - Contains the controllers of the project
- handlers
- models
- graphql
- views
- GraphqlPage - The GraphQl Interface page which allows you to test out the graphql queries in a playground.
- HomePage - The home page which contains links to the docs, The source code and the Graphql Interfact.
- controllers - Contains the controllers of the project
- documentation - Contains all the documentation source code that can be automatically generated see Documentation Updates
- tap_client
- src
- tap_server
- src
For more details, see the “Default SBT Layout” section in the “Anatomy of a Play Application” chapter in the Play 2.6 Documentation:
Document Last Updated on 21/11/2018
The source code for this page can be found here.