Naming

There are two hard things in Computer Science, and the following is an attempt to ease our pain when naming things.

WhatNaming conventionExample
microservicefunctional description (+service)A backend service
repositorymicroservice namea-backend-service
api specificationmicroservice name.yamla-backend-service.yaml
groupIdno.brreg.servicenameno.brreg.abackendservice
artifactIdservice-namea-backend-service
packagegroupId.funtionno.brreg.abackendservice.api|controller|service|repository|model
Api classesname-of-resource-in-api-spec+ApiSomeResourceApi.java
Model classesname-of-resource-in-api-spec+DBSomeResourceDB.java
Controller classesname-of-resource-in-api-spec+ApiImpl.javaSomeResourceApiImpl.java
Service classesname-of-resource-in-api-spec +ServiceSomeResourceService.java
Repository classesname-of-resource-in-api-spec +RepositorySomeResourceRepository.java