This document explains the development guide to the new users participating in the development of the project.
Use terminal to perform git commit
action to see proper error messages. Integrated Commit feature in IDE's like WebStorm
might not show detailed errors if we encounter any (It's much easier to view errors in terminal)
. The reason is that we have
set up husky
for running some scripts to check the Code Format, ESLinting, TSConfiguration Standards
before committing, and if some scripts generate error, it is easier to debug.
- Setup prettier as a code formatter during the development of this project.
- TypeScript's configuration are set in tsconfig.json. Update as per the requirements.
- ESLint and Prettier are used to provide better development experience and consistence code.
- Husky configurations are set in Husky.
- Global media assets are set on public folder at the root level and assets folder inside
src
. - Copy .env.example file, rename it to
.env
, and add appropriate environment variables there.[NOTE: If any new environment variable is added to the project, do not forget to add it in .env.example file as well]
- All the
.ts, .js, .tsx, .jsx
code are inside the src directory. - assets directory includes all the static css, images, and svg.
- components directory includes all the reusable components, stories, and tests (i.e. common and other components).
- components/icons directory includes all the custom svg icons.
- components/ui directory includes all the custom shared UI.
- components/media-render includes all the media used in project.
- configs directory includes all the configurations used in the app.
- constants directory includes all the constants related to bird details. Feel free to add other constants to this directory.
- containers directory includes all the main view, stories, and tests for each specific pages.
- layout directory includes common shared design in all the pages.
- lib directory includes all custom
hooks
andwallet
connection required for the project.- lib/hooks directory includes all custom hooks.
- models directory includes all dtos, enums, and types.
- pages directory includes actual pages.
- store directory includes configurations for redux store and other app specific reducers, actions, and types.
- types directory includes common types.
- utils directory includes all the essentials, and custom utilities files.