What domain driven design mean for Javascript applications on the client side?
I want to build an application based on ddd architecture with javascript.
The framework I’ll use to implement the application is not important to me because I want to learn how to organize the code according to ddd architecture.
Let’s decide module is folder.
My application is have login, notifications, reports, crud operations, and shared stuff, and each of them have api-server logic, ui components, services and crud.
For example auth
folder contains the following
api --> server logic
domain --> the domain itself. the bl: handle the data, use of http.
feature-login --> the page itself containers of ui elements.
feature-register --> the page itself containers of ui elements.
ui --> ui elements for auth domain
utils --> utils functions for auth domain
same goes for notification folder:
api --> server logic
domain --> the domain itself. the bl: handle the data, use of http.
feature-create --> the page itself containers of ui elements.
feature-list --> the page itself containers of ui elements.
ui --> ui elements for notification domain
utils --> utils functions for notification domain
And reports:
api --> server logic
domain --> the domain itself. the bl: handle the data, use of http.
feature-dashboard --> the page itself containers of ui elements.
feature-search --> the page itself containers of ui elements.
feature-edit --> the page itself containers of ui elements.
feature-view --> the page itself containers of ui elements.
ui --> ui elements for report domain
utils --> utils functions for report domain
This is how I build my application.
So Where is my problem here?
According to ddd the domain is shouldn’t be share inside other domains. because it’s create decoupling.
But in the report domain I need to get the user from auth domain and need to display notification from notification domain.
This is makes decoupling between the domains.
So it’s lead me to realize maybe I don’t defined my domain correctly? my folder structure is matching the ddd principle? if no how I do I decide what is domain and what is not?