The main purpose of this project is to study web applications development based on react stack
- Key technologies
- TypeScript
- UI library: React
- bundler: Webpack
- Sass + PostCSS(autoprefixer and friends)
- Quality:
- CI: base on github actions
- CI: code coverage
- CI: sonar cloud analyzer
- E2E testing: testcafe
- snapshots of failed tests as artifacts
- unit & international testing: jest + testing-library
- jest: code coverage
- Hyper strong TypeScript config
- EsLint
- add HOOKS related eslint rules
- add REACT related eslint rules
- Stylelint
- integrate audit(click house or other) to CI
- Review tools of minimizing for production
- Build:
- add tslib
- CI: deploy to github pages via github actions
- App:
- localization
- form handling(ui/server validation, form state)
- Store
- Redux
- type safety with redux:
- actions naming - my current choice how to name action types
- Effects/async flow: RxJs(rxjs/observable)
- Router: router5
- API client (rxjs based?)
- Base API client helper to be used for every domain API client
- File uploading
- Catch unhandled API errors on App level
- React related:
- React.StrictMode
- try suspense
- Development experience
- Prettier for formatting(integration with VSCode)
- HMR for CSS
- commit format & commit-based changelog generation