Learning project in which we try to make our sandwich ordering site better. This is the backend project, providing RESTful webservices with DropWizard.
We might want separate projects/modules/... to demark domains and other logicals.
This requires some extended Gradle knowledge/learning.
Since I know Maven this is how I'd want it:
Directory
Description
$root/parent
Parallel parent that will contain dependencies that are going to be shared over all modules
$root/common
Common domain specific stuff, util classes and the like
$root/infra
Cross-cutting stuff, mostly tech-stack based, e.g. an abstract MongoDB DAO class would go here
$root/ordering
@Resources and Services related to the Ordering API go here. The main users of this API are going to be actual clients that want to order a sandwich.
$root/managing
@Resources and Services related to the Managing API go here. The main users of this API will be Filip from Fiantje, who'll want to offer Promotions, compose sandwiches and set prices accordingly.
$root/invoicing
@Resources and Services related to the Invoicing API go here. The main users of this API will be actual clients, who want to get a proper overview of their (monthly) bill.
We might want separate projects/modules/... to demark domains and other logicals.
This requires some extended Gradle knowledge/learning.
Since I know Maven this is how I'd want it:
@Resources
and Services related to the Ordering API go here. The main users of this API are going to be actual clients that want to order a sandwich.@Resources
and Services related to the Managing API go here. The main users of this API will be Filip from Fiantje, who'll want to offer Promotions, compose sandwiches and set prices accordingly.@Resources
and Services related to the Invoicing API go here. The main users of this API will be actual clients, who want to get a proper overview of their (monthly) bill.