To install the project dependencies using PNPM, run:
pnpm i
First time (copy the env file), run: cp .env.example .env
To start the development server, run:
pnpm dev
To build the project for production, use:
pnpm build
To run Storybook for component testing, execute:
pnpm storybook
- Purpose: Store all images and static assets.
- Guideline: Place image files and other static assets in this directory.
- Purpose: Store configuration files.
- Guideline: Include environment settings, theme configurations, authentication settings, etc., in this directory.
- client: Contains Axios configuration.
- models: Defines models and their mappings.
- repositories: Defines abstract classes for repositories, acting as contracts between presentation and infrastructure layers.
- repositoryImpl: Implements the repository classes.
- useCases: Defines the module's behavior (e.g., UserUseCase -> getAll, getById).
- Purpose: Store global constants.
- Guideline: Place enumerations and global constants in this directory.
- components: Contains shared components and their stories.
- hooks: Contains shared custom hooks.
- layout: Defines the layout of the application (e.g., useAuth, useLocalStorage).
- pages: Contains application pages.
- routers: Defines application routes, utilizing dynamic import to split chunks at build time.
- viewModels: Defines the viewModel layer as a hook to manage business logic and provide data for the view layer.
- Purpose: Store global providers.
- Guideline: Include all global providers in this directory.
- Purpose: Store schema validations.
- Guideline: Include schema validations for all input fields in this directory.
- Purpose: Store types and interfaces.
- Guideline: Include types and interfaces such as APIRequest, APIResponse, etc., in this directory.
- Purpose: Store utility functions.
- Guideline: Place all utility functions in this directory.ude the utility functions in the utils folder (e.g: helpers, conversion factors)