Skip to main content

Arc Platform

This repository is a monorepo that contains the codebases for two separate projects:

  1. Web: The Arc web application, available at https://custody.assetreality.com
  2. 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 install from 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.lock file.

  • Shared node modules are stored in the root node_modules folder.

  • Web and native modules are stored in the packages/***/node_modules folder

Code Generation

The API client is generated from the OpenAPI YAML files of the backend.

To generate the API client:

  1. Run yarn start:backend from the root folder. This command clones the backend repository into the temp/backend folder.
  2. Once the backend repository is cloned, run yarn codegen from the root folder to generate the API client code using the OpenAPI files.
  3. 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.