-
Notifications
You must be signed in to change notification settings - Fork 139
Organization and Architecture
Victor George edited this page Dec 29, 2016
·
6 revisions
We need to cover the organization and structure of the repo here.
- We use React.js,
- Redux,
- Node.js,
- REST API,
- Webpack,
Functional
- AirBnB date picker https://github.com/airbnb/react-dates
- Formsy
- Filepicker
- React-select
- React SVG Loader
- TC React Components (Topcoder UI Library)
- React CSS Modules
- React CSS Themr
- React Stickynode
:Helpers
- ESLint
- Babel
- Mocha
- Chai
- Styleint
- StyleFMT
- Draftjs
As any big project ours is organized in a way that allows scale and feature separation. It is best that each item has its own place, and everybody can follow and find the code she is looking for.
Connect App follows the following structure:
root/
|--config/ (all webpack configuration files)
|--examples/ (example code)
|--node_modules/ (all node dependencies)
|--src/ (all source file)
|--actions/ (system actions)
|--api/
|--assets/ (all icons and images)
|--components/ (global components)
|--config/ (app configurations)
|--containers/ (app pages)
|--helpers/ (source file)
|--reducers/ (redux reducers)
|--styles/ (all the app styles)
|--_helpers/ (helper files included in main.scss)
|--themes/ (where all themes are stored)
|--/connect (the default theme)
|--vendors/ (all 3rd party styles in a separate folder)
|--main.scss (the compiled stylesheet)
|--index.html
|--index.jsx
|--readme.md
|--package.json
We have 3 types of components:
- Dumb components
- Smart components
- Containers
We use feature separation for different parts of the source code.
Our repo uses various 3rd party components that we have to restyle.