BoilerPlate Scheme
by Alex Dugnist
1. Modules
1.1. users
1.1.1. /api
1.1.1.1. requests.js
1.1.1.1.1. [get] /users/profile
1.1.1.2. hooks.js
1.1.1.2.1. useProfileData()
1.2. /auth
1.2.1. /api
1.2.1.1. requests.js
1.2.1.1.1. [post] /auth/signin [post] /auth/signup
1.2.2. /layouts
1.2.2.1. /signin
1.2.2.2. /signup
1.2.2.2.1. index.js
1.2.2.2.2. styles.js
1.2.2.2.3. handler.js
1.3. admin-dashboard
1.4. admin-users
1.4.1. /api
1.4.1.1. requests.js
1.4.1.1.1. [get] /users [post] /users (CREATE) [put] /users (UPDATE) [delete] /users (DELETE)
1.4.1.2. hooks.js
1.4.1.2.1. useUsersList()
2. Plugins
2.1. BrowserStorage
2.1.1. useBrowserStorage()
2.2. Request
2.2.1. REST GRAPHQL
2.2.2. useRequest()
2.3. React-Query (adapter)
2.4. Bundler
2.4.1. esbuild
2.4.2. webpack
2.4.3. rome-tools
3. UI (global components)
3.1. StoryBook [documentstion]
3.2. Styled Components
3.3. Register in "core" [future]
4. CORE
4.1. applyServerRendering()
4.2. useBandler('esbuild')
4.3. applyFrameworkAdapter('react')
4.4. applyStoreAdapter('redux') / Context [future]
4.5. const { products } = useStore('cart')
4.6. const { t } = useTranslations()
4.7. const { search } = useUrl()
4.8. applyUtils(['ahooks'])
4.9. const { useScroll } = useUtils('useScroll')
4.10. const { Provider } = useStyleProvider(['styled-components'])
4.11. const { useHistory } = useHooks('useHistory')
4.12. const { withAuth } = useHOC('withAuth')
4.13. const { Button } = useUI('Button') [future]
4.14. const AboutPage = modules.get`about`.layout`AboutPage`;
4.15. const useProfileData = modules.get`users`.api`useProfileData`;
4.16. const AUTH_QUERY_KEY = modules.get`users`.api`AUTH_QUERY_KEY`;
4.17. const MAIN_LANGUAGE = useConstants('MAIN_LANGUAGE')
5. Structure
5.1. /constants
5.2. /hooks
5.3. /hocs
5.4. /modules
5.5. /plugins
5.6. /themes
5.7. /translations
5.8. /ui
5.9. /utils
6. Storage (global)
6.1. React-query (CACHE)
6.2. useStore (CONTEXT)
6.3. useUrl() (URL)