Sometimes your single page application contains a huge amount of business logic. This project will show you how to deal with it.
- app - classic React application with set of contracts (interfaces);
- domains - pure business logic of application (implementation of use cases);
- infrastructure - environment specific services.
- Use @reduxjs/toolkit instead of regular redux;
- Use ts-loader for typescript bundling;
- Use React Fast Refresh for HMR instead of React Hot Loader;
- Add to eslint configuration more strict rules;
- Move some specific values to .env;
- Add translations for application;
- Split application to chunks;
- Write unit tests for domains;
- Write more domains;
- Make the border between application and infrastructure more strict (add more contracts).