build // The build artifact node_modules // Installed Node modules public |-- favicon |-- index.html |-- manifest.json |-- robots.txt src |-- actions // Redux actions | |-- app.js | |-- products.js | |-- assets | |-- images | |-- components // Components should not fetch | |-- Products // data by itself (neither from Redux, | | |-- ProductThumb // neither from API) | | | |-- ProductThumb.jsx | | | |-- ProductThumb.scss | | | |-- index.js | | | | | |-- ProductTable | | |-- ProductTable.jsx | | |-- ProductTable.scss | | |-- index.js | | | |-- UI // Reusable UI components grouped | |-- Button // together in one folder | |-- Tooltip | |--containers // Containers implement the logic | |-- Products // and provide data to components | |-- IndexProduct | | |-- ProductIndexContainer.jsx | | |-- index.js | | | |-- NewProduct | |-- NewProductContainer.jsx | |-- index.js | |-- config // Extract all configurable values | |-- app.js // from components and containers | |-- products.js // to config files. | |-- helpers // Reusable functions | |-- layouts // Layouts | |-- MainLayout | |-- MainLayout.jsx | |-- MainLayout.scss | |-- index.js | |-- locales // I18n | |-- models // Models provide a better | |-- Product.js // representation of objects | |-- modules // Here you can import or build | // modules that should be easily moved | // to other projects | |-- reducers // Redux reducers | |-- appReducer.js | |-- productReducer.js | |-- index.js | |-- routes // Routing | |-- home | | |-- HomeRoute.jsx | | | |-- products | | |-- [id] | | | |-- ProductRoute.jsx | | | | | |-- ProductsRoute.jsx | | | |-- routes.jsx | |-- services // Services | |-- APIService.js | |-- PayPalService.js | |-- App.jsx // Imports routes and connects with Redux |-- index.jsx // Entrypoint of the app. Imports App.jsx |-- init.js // Used in the app initialization stage |-- serviceWorker |-- store.js // Redux store .eslintignore .eslintrc.js .eslintrc.json .gitignore package.json README.md