Tend to follow a similar structure... a minor difference though...
/ - baseline configuration
/scripts
/npm - node/npm configured scripts
/ci-cd - scripts for env/ci-cd
/client - client application
/index.js - main entry
/index-ssr.js - server-side render entry
/feature - all client features
/wwwroot - assets deployed in root (favicon etc)
/app - application wide components
/api - api client abstraction
/feature-name - components/logic/reducers/etc
/server - server/api application
/index.js - main entry point (see: npm os-service)
/feature - all feature structures
/webserver.js - main server start
/static.js - statically mounted resources, reverse proxies, etc
/middleware - middleware
/routes - routes for api
...
If there are multiple configuration targets, I'll have a /configuration/configs/TARGET-NAME directory for those configs/assets.
Tend to follow a similar structure... a minor difference though... / - baseline configuration /scripts /npm - node/npm configured scripts /ci-cd - scripts for env/ci-cd /client - client application /index.js - main entry /index-ssr.js - server-side render entry /feature - all client features /wwwroot - assets deployed in root (favicon etc) /app - application wide components /api - api client abstraction /feature-name - components/logic/reducers/etc /server - server/api application /index.js - main entry point (see: npm os-service) /feature - all feature structures /webserver.js - main server start /static.js - statically mounted resources, reverse proxies, etc /middleware - middleware /routes - routes for api ... If there are multiple configuration targets, I'll have a /configuration/configs/TARGET-NAME directory for those configs/assets.