https://pensive-noether-032521.netlify.app/

- install yarn
- install dependencies through yarn
yarn- run dev server
yarn dev- the dev server would be running on http://localhost:3000
- folder structure: each component folder has an
index.tsxfile as the entry point. Define section components in the parent folder of section. Define reusable components incomponentsfolder - css in js: choose
@emotion/styledto style components to avoid css classname naming collision and polyfill styled cross different browsers. - styled-system: use
styled-systemto unify style property name of reusable components. - typescript: define type of components and functions to validate function input at compile time.
- test: add test for complicated data transformation to ensure runtime correctness.
- pie chart: use
react-minimal-pie-chartto render statistic data of poll results. - local storage: use local storage as data storage to retrieve initial value and update value.
- draft section: add draft section and alert dialog to confirm user's input before submission.
- pie chart: set start angle from 180 degree and rotate counterclockwise.