1. Project Details
- Name: esg-score-ui
- Version: 1.5.0
- Node.js version: 16.14.2
2. Installation & Usage
Refer to the main README.md for prerequisites and setup:
yarn install
yarn start
3. Project Structure
├── amplify.yml
├── commitlint.config.js
├── lint-staged.config.js
├── package.json
├── prettier.config.js
├── public/
├── src/
├── tsconfig.json
└── yarn.lock
4. Public Directory
index.html— HTML templatefavicon.ico,manifest.json,robots.txtmockServiceWorker.js— MSW service worker
5. Source Directory (src)
src/
├── App.tsx
├── index.tsx
├── assets/
├── common/
├── components/
├── containers/
├── context/
├── pages/
├── routes/
├── services/
├── util/
├── setupTests.ts
├── fonts.d.ts
├── global.d.ts
└── react-app-env.d.ts
6. Key Technologies & Dependencies
- React 17+, TypeScript
- MUI, Emotion
- Zustand, React Context, SWR
- Axios, AWS Amplify
- Formik, Yup
- Chart.js, react-chartjs-2
- React Router v6
- Jest, React Testing Library, MSW
- Storybook, Create React App, Webpack
- ESLint, Prettier, Husky, CommitLint, Standard Version
7. Scripts
| Script | Description |
|---|---|
start | Development server |
build | Production build |
test | Run tests |
test:ci | CI test mode |
test:coverage | Test coverage |
lint | ESLint |
prettier | Prettier formatting |
validate | Lint, format check, and type check |
release | Standard-version release |
storybook | Start Storybook |
build-storybook | Build Storybook static files |
8. Configuration & Tooling
tsconfig.json— TypeScript config- ESLint +
@novatics-tools/eslint-config-react-typescript prettier.config.jscommitlint.config.js- Husky +
lint-staged.config.js amplify.yml— AWS Amplify pipeline
9. Testing
- Jest config in
package.json src/setupTests.ts- MSW (
mockServiceWorker.js)
10. Storybook
- Runs on port 6006
- Stories alongside components (
*.stories.tsx)
11. Deployment
- AWS Amplify configured via
amplify.yml - Artifacts served from
build/directory
12. Contributing
- Follow Conventional Commits
- Run
yarn validatebefore PR - Use
yarn lintandyarn prettier