Skip to content

Commit

Permalink
Docs: update app readmes
Browse files Browse the repository at this point in the history
  • Loading branch information
katspaugh committed Dec 23, 2024
1 parent f8473bd commit 256d854
Show file tree
Hide file tree
Showing 3 changed files with 41 additions and 42 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

# Safe{Wallet} monorepo

- [Safe{Wallet} web app](/apps/web/README.md)
- [Safe{Wallet} mobile app](/apps/mobile/README.md)
- 🌐 [Safe{Wallet} web app](/apps/web/README.md)
- 📱 [Safe{Wallet} mobile app](/apps/mobile/README.md)

## Overview

Expand Down
22 changes: 11 additions & 11 deletions apps/mobile/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Safe Mobile App 📱
# Safe{Wallet} mobile app 📱

This project is now part of the **@safe-global/safe-wallet** monorepo! The monorepo setup allows centralized management of multiple
applications and shared libraries. This workspace (`apps/mobile`) contains the Safe Mobile App.
Expand All @@ -20,15 +20,15 @@ You can follow the [expo documentation](https://docs.expo.dev/get-started/set-up

Follow the [Maestro](https://maestro.mobile.dev/) documentation to install the tool for E2E testing.

## Setup the Project
## Setup the project

1. Install all dependencies from the **root of the monorepo**:

```bash
yarn install
```

## Running the App
## Running the app

### Running on iOS

Expand Down Expand Up @@ -56,7 +56,7 @@ From the root of the monorepo:
yarn workspace @safe-global/mobile start:android
```

### How to Open the Custom DevTools Menu
### How to open the custom devtools menu

The app supports **Redux**, **RTK Query**, and **React DevTools**. To access these tools:

Expand All @@ -66,7 +66,7 @@ The app supports **Redux**, **RTK Query**, and **React DevTools**. To access the

## Running the Storybook

### Running in the browse
### Running in the browser

Run the storybook command from the root:

Expand All @@ -84,12 +84,12 @@ yarn workspace @safe-global/mobile storybook:[ios|android]

To View stories press `i` on iOS or `a` on Android.

## How to Run the E2E Tests
## How to run the E2E Tests

We use [Maestro](https://maestro.mobile.dev/) for E2E testing. Before running tests, install Maestro following the
documentation for your OS.

### Run a Dev Build and E2E Tests
### Run a dev build and E2E tests

To build the app for tests:

Expand All @@ -107,15 +107,15 @@ yarn workspace @safe-global/mobile e2e:metro-android

These commands include `.e2e.ts|.e2e.tsx` files for mocking services or adding test-specific code.

### Run the Tests
### Run the tests

In a second terminal run:

```bash
yarn workspace @safe-global/mobile e2e:run
```

### Use Maestro Studio to Write Tests
### Use Maestro Studio to write tests

To write tests with Maestro Studio, run:

Expand All @@ -125,12 +125,12 @@ maestro studio

Export the generated YAML file to the `e2e` folder and include it in the test suite.

### Running E2E Tests in CI
### Running E2E tests in CI

To run tests in CI, add the `eas-build-ios:build-and-maestro-test` label to a PR. This triggers the Expo CI pipeline to
execute the tests.

## Unit Tests
## Unit tests

We use **Jest** and the [React Native Testing Library](https://callstack.github.io/react-native-testing-library/) for
unit, component, and hook tests.
Expand Down
57 changes: 28 additions & 29 deletions apps/web/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
![GitHub package.json version (branch)](https://img.shields.io/github/package-json/v/safe-global/safe-wallet-web)
[![GitPOAP Badge](https://public-api.gitpoap.io/v1/repo/safe-global/safe-wallet-web/badge)](https://www.gitpoap.io/gh/safe-global/safe-wallet-web)

# Safe{Wallet} Web 💻
# Safe{Wallet} web app

This project is now part of the **@safe-global/safe-wallet** monorepo! The monorepo setup allows centralized management
of multiple
Expand Down Expand Up @@ -43,34 +43,33 @@ Create a `.env` file with environment variables. You can use the `.env.example`

Here's the list of all the environment variables:

| Env variable | Description |
| ------------------------ | ----------------------------------------------- |
| `NEXT_PUBLIC_BRAND_NAME` | The name of the app, defaults to "Wallet fork" |
| `NEXT_PUBLIC_BRAND_LOGO` | The URL of the app logo displayed in the header |

| `NEXT_PUBLIC_INFURA_TOKEN` | [Infura](https://docs.infura.io/infura/networks/ethereum/how-to/secure-a-project/project-id) RPC API token |
| `NEXT_PUBLIC_SAFE_APPS_INFURA_TOKEN` | Infura token for Safe Apps, falls back to `NEXT_PUBLIC_INFURA_TOKEN` |
| `NEXT_PUBLIC_IS_PRODUCTION` | Set to `true` to build a minified production app |
| `NEXT_PUBLIC_GATEWAY_URL_PRODUCTION` | The base URL for the [Safe Client Gateway](https://github.com/safe-global/safe-client-gateway) |
| `NEXT_PUBLIC_GATEWAY_URL_STAGING` | The base CGW URL on staging |
| `NEXT_PUBLIC_SAFE_VERSION` | The latest version of the Safe contract, defaults to 1.4.1 |
| `NEXT_PUBLIC_WC_PROJECT_ID` | [WalletConnect v2](https://docs.walletconnect.com/2.0/cloud/relay) project ID |
| `NEXT_PUBLIC_TENDERLY_ORG_NAME` | [Tenderly](https://tenderly.co) org name for Transaction Simulation |
| `NEXT_PUBLIC_TENDERLY_PROJECT_NAME` | Tenderly project name |
| `NEXT_PUBLIC_TENDERLY_SIMULATE_ENDPOINT_URL` | Tenderly simulation URL |
| `NEXT_PUBLIC_BEAMER_ID` | [Beamer](https://www.getbeamer.com) is a news feed for in-app announcements |
| `NEXT_PUBLIC_GOOGLE_TAG_MANAGER_ID` | [GTM](https://tagmanager.google.com) project id |
| `NEXT_PUBLIC_GOOGLE_TAG_MANAGER_DEVELOPMENT_AUTH` | Dev GTM key |
| `NEXT_PUBLIC_GOOGLE_TAG_MANAGER_LATEST_AUTH` | Preview GTM key |
| `NEXT_PUBLIC_GOOGLE_TAG_MANAGER_LIVE_AUTH` | Production GTM key |
| `NEXT_PUBLIC_SENTRY_DSN` | [Sentry](https://sentry.io) id for tracking runtime errors |
| `NEXT_PUBLIC_IS_OFFICIAL_HOST` | Whether it's the official distribution of the app, or a fork; has legal implications. Set to true only if you also update the legal pages like Imprint and Terms of use |
| `NEXT_PUBLIC_REDEFINE_API` | Redefine API base URL |
| `NEXT_PUBLIC_FIREBASE_OPTIONS_PRODUCTION` | Firebase Cloud Messaging (FCM) `initializeApp` options on production |
| `NEXT_PUBLIC_FIREBASE_VAPID_KEY_PRODUCTION` | FCM vapid key on production |
| `NEXT_PUBLIC_FIREBASE_OPTIONS_STAGING` | FCM `initializeApp` options on staging |
| `NEXT_PUBLIC_FIREBASE_VAPID_KEY_STAGING` | FCM vapid key on staging |
| `NEXT_PUBLIC_SPINDL_SDK_KEY` | [Spindl](http://spindl.xyz) SDK key |
| Env variable | Description |
| ------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `NEXT_PUBLIC_BRAND_NAME` | The name of the app, defaults to "Wallet fork" |
| `NEXT_PUBLIC_BRAND_LOGO` | The URL of the app logo displayed in the header |
| `NEXT_PUBLIC_INFURA_TOKEN` | [Infura](https://docs.infura.io/infura/networks/ethereum/how-to/secure-a-project/project-id) RPC API token |
| `NEXT_PUBLIC_SAFE_APPS_INFURA_TOKEN` | Infura token for Safe Apps, falls back to `NEXT_PUBLIC_INFURA_TOKEN` |
| `NEXT_PUBLIC_IS_PRODUCTION` | Set to `true` to build a minified production app |
| `NEXT_PUBLIC_GATEWAY_URL_PRODUCTION` | The base URL for the [Safe Client Gateway](https://github.com/safe-global/safe-client-gateway) |
| `NEXT_PUBLIC_GATEWAY_URL_STAGING` | The base CGW URL on staging |
| `NEXT_PUBLIC_SAFE_VERSION` | The latest version of the Safe contract, defaults to 1.4.1 |
| `NEXT_PUBLIC_WC_PROJECT_ID` | [WalletConnect v2](https://docs.walletconnect.com/2.0/cloud/relay) project ID |
| `NEXT_PUBLIC_TENDERLY_ORG_NAME` | [Tenderly](https://tenderly.co) org name for Transaction Simulation |
| `NEXT_PUBLIC_TENDERLY_PROJECT_NAME` | Tenderly project name |
| `NEXT_PUBLIC_TENDERLY_SIMULATE_ENDPOINT_URL` | Tenderly simulation URL |
| `NEXT_PUBLIC_BEAMER_ID` | [Beamer](https://www.getbeamer.com) is a news feed for in-app announcements |
| `NEXT_PUBLIC_GOOGLE_TAG_MANAGER_ID` | [GTM](https://tagmanager.google.com) project id |
| `NEXT_PUBLIC_GOOGLE_TAG_MANAGER_DEVELOPMENT_AUTH` | Dev GTM key |
| `NEXT_PUBLIC_GOOGLE_TAG_MANAGER_LATEST_AUTH` | Preview GTM key |
| `NEXT_PUBLIC_GOOGLE_TAG_MANAGER_LIVE_AUTH` | Production GTM key |
| `NEXT_PUBLIC_SENTRY_DSN` | [Sentry](https://sentry.io) id for tracking runtime errors |
| `NEXT_PUBLIC_IS_OFFICIAL_HOST` | Whether it's the official distribution of the app, or a fork; has legal implications. Set to true only if you also update the legal pages like Imprint and Terms of use |
| `NEXT_PUBLIC_REDEFINE_API` | Redefine API base URL |
| `NEXT_PUBLIC_FIREBASE_OPTIONS_PRODUCTION` | Firebase Cloud Messaging (FCM) `initializeApp` options on production |
| `NEXT_PUBLIC_FIREBASE_VAPID_KEY_PRODUCTION` | FCM vapid key on production |
| `NEXT_PUBLIC_FIREBASE_OPTIONS_STAGING` | FCM `initializeApp` options on staging |
| `NEXT_PUBLIC_FIREBASE_VAPID_KEY_STAGING` | FCM vapid key on staging |
| `NEXT_PUBLIC_SPINDL_SDK_KEY` | [Spindl](http://spindl.xyz) SDK key |

If you don't provide some of the variables, the corresponding features will be disabled in the UI.

Expand Down

0 comments on commit 256d854

Please sign in to comment.