Set up initial project structure
There are lots of great initial scaffolding repositories, like Scaffold-ETH. For a more lightweight CRA scaffolding version, with Typescript and linting configured, and dOrg's preffered libraries check out React-Dapp-Boilerplate. Feel free to use the initial structure or scaffolding that best suits your needs
Tips
- React should always be your tool to develop a dApp unless there's an explicit reason to not do it
- Use typescript always, never use vanilla javascript
- Use linter (ESLint + Prettier is the default in TS)
- For styles in react, Styled Components or CSS-in-JS is a must, unless its an Angular or Vue project
- Configure husky (Attach linter to pre commit hooks so the code is the same for all the developers on the project)
- The suite of tests of the integrations is a must and should always aim to also test the UI components, but we can be flexible with it