Project structure
Folders structure
This is the overall framework folder structure:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | +-- package.json
+-- pom.xml
+-- build.sh
+-- .babelrc
+-- .eslintrc
+-- .editorconfig
+-- .travis.yml
+-- ...
+-- build (build realted files)
+-- karma.conf.*.js
+-- tests.webpack.js
+-- webpack.config.js
+-- prod-webpack.config.js
+-- docma-config.json
+-- testConfig.json
+-- ...
+-- web (MapStore maven module)
+-- pom.xml
+-- src (maven java webapp src folder)
| +-- main
| | +-- java
| | +-- resources
| | +-- webapp
| +-- test
| +-- java
| +-- resources
+-- client
| +-- index.html (demo application home page)
+-- plugins (ReactJS smart components with required reducers)
+-- components (ReactJS dumb components)
| +-- category
| | +-- <component>.jsx (ReactJS component)
| | +-- ...
| | +-- __tests__ (unit tests folder)
| | +-- <component>-test.jsx
| +-- ...
+-- actions (Redux actions)
+-- epics (redux-observable epics)
+-- reducers (Redux reducers)
+-- stores (Redux stores)
+-- translations (i18n localization files)
| +-- data.en-US
| ...
| product (the MapStore main application)
| +...
+-- examples (example applications)
+-- 3dviewer
| +-- index.html
| +-- app.jsx
| +-- containers (app specific smart components)
| +-- components (app specific dumb components)
| +-- stores (app specific stores)
| +-- reducers (app specific reducers)
| +-- ...
+-- ...
|