This starter kit divides the whole project into four main packages:
models
: contains the data structures used for communication between different layers.services
: contains the main business logic of the application.daos
: contains the DAO (Data Access Object) layer that interacts with persistent storage.apis
: contains the API layer that wires up the HTTP routes with the corresponding service APIs.
Dependency inversion principle is followed to make these packages independent of each other and thus easier to test and maintain.
The rest of the packages in the kit are used globally:
app
: contains routing middlewares and application-level configurationserrors
: contains error representation and handlingutil
: contains utility code