GOALS
- TypeScript.
- Single Page Application.
- Modern libs + tools for ease to develop.
- Performance in mind.
- No SEO supported. (in case we want to, we might need prerender.io services).
- Featured base structure.
- Use functional component + hooks.
- Use component styles (SCSS + BEM)
REFS
- TypeScript: TypeScript
- Routing: react-router-dom
- Form management: react-hook-form
- Http client: axios
- Multi-languages support: react-i18next
- State management: redux-toolkit
.
├── api: API modules
├── app: Redux store setup
├── assets: styles + images
├── components: shared component
├── constants: shared contants
├── hooks: shared hooks
├── utils: utilities that help to resolve common problems
└── features: each feature will be isolated in one folder
├── home
├── about
└── ...
.
├── components: dump components
├── pages: list of pages
├── index.jsx: entry point for current feature
├── routes.js: routings
└── slice.js: redux setup