Arc Platform
This repository is a monorepo that contains the codebases for two separate projects:
- Web: The Arc web application, available at https://custody.assetreality.com
- Native: The Agent mobile app, available on the iOS App Store or the Google Play Store.
Project Structure
The monorepo uses Yarn Workspaces to manage dependencies and streamline the development process.
root/
├── packages/
│ ├── web/ # Arc web application
│ ├── native/ # Agent mobile app
└── package.json # Root-level package configuration
Getting Started
packages/web: Refer to the web README for more info.
packages/native: Refer to the native README for more info.
Yarn workspace notes
-
Run scripts from the monorepo root folder
-
Run
yarn installfrom the root folder to install dependencies -
Select workspace and run yarn scripts using
yarn workspace web xyz(ie:yarn workspace web start:staging,yarn workspace native start) -
The repository has single
yarn.lockfile. -
Shared node modules are stored in the root
node_modulesfolder. -
Web and native modules are stored in the
packages/***/node_modulesfolder
Code Generation
The API client is generated from the OpenAPI YAML files of the backend.
To generate the API client:
- Run
yarn start:backendfrom the root folder. This command clones the backend repository into thetemp/backendfolder. - Once the backend repository is cloned, run
yarn codegenfrom the root folder to generate the API client code using the OpenAPI files. - The generated files will be placed in
packages/api-client/src/generated.
Just to clarify, be sure to run yarn start:backend before yarn codegen to ensure the OpenAPI files are available locally.
See orval.config.ts for more details about the configuration and the exact location of the input OpenAPI contracts.