Live site: https://codebased-production.up.railway.app/
- Install ESLint and configure it to check files:
- Add an ESLint script to
package.json: - Ensure
eslint.config.jsis correctly set up: - Fix all ESLint errors.
- Add an ESLint script to
- Implement a script for a full build that includes linting and testing:
"scripts": { "full-build": "npm run eslint && npm test && npm run build" }
- Move shared state to a context provider.
- Create
DataContextandDataDispatchContext. - Use
useReducerinstead ofuseStatewhere appropriate. - Ensure all components retrieve data via context.
- Implement a test suite for reducers.
- Ensure reducers work correctly for various actions.
- Remove redundant state management within components.
- Ensure all necessary components are connected to
DataContext.
- Move all button components together.
- Organize SVGs into a dedicated directory.
- Follow the container/presentational component pattern.
- Separate business logic from UI components.
- Install and configure Cypress.
- Write basic E2E tests for core functionalities.
- Organize tasks into Backlog, In Progress, and Done columns.
- Utilise dynamic imports to lazy load components.
- Apply code splitting on route pages.