Skip to content

Commit

Permalink
add android instructions in readme
Browse files Browse the repository at this point in the history
  • Loading branch information
polypixeldev committed Nov 28, 2024
1 parent 249c0bf commit c5349ba
Showing 1 changed file with 41 additions and 1 deletion.
42 changes: 41 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,50 @@

</div>

## Setup

HCB Mobile connects to HCB throught the v4 API.
You can either do this on the production HCB instance, or using a local development instance.

### Production HCB

Set your `.env` to include the following variables:

```
EXPO_PUBLIC_API_BASE=https://hcb.hackclub.com/api/v4
EXPO_PUBLIC_CLIENT_ID=yt8JHmPDmmYYLUmoEiGtocYwg5fSOGCrcIY3G-vkMRs
EXPO_PUBLIC_STRIPE_API_KEY=pk_live_UAjIP1Kss29XZ6tW0MFWkjUQ
```

### Development HCB

Go into the Rails console on your development server (`bin/rails c`), and run the following:

```
app = Doorkeeper::Application.create(name: "mobile", redirect_uri: "hcb://", scopes: ["read", "write"], confidential: false)
```

Then, set your `.env` to include the following variables:

```
EXPO_PUBLIC_API_BASE=http://<host>/api/v4
EXPO_PUBLIC_CLIENT_ID=<uid field from the Doorkeeper app>
```

## Building on iOS

1. Install Xcode/Node.js
2. `npm install`
3. `npm run ios` - builds and runs the app in a simulator
- Run with the `--device` flag to get a device selector, e.g. to run on a physical iPhone
- Run with the `-- --device` flag to get a device selector, e.g. to run on a physical iPhone
- Bonus task: fry an egg on your Mac while this runs

## Building on Android

1. Install Android Studio & Node.js
2. Setup a new AVD in Android Studio with api >= 34
3. Install & set your `JAVA_HOME` to a Java 17 SDK
4. `npm install`
5. `npm run android` - builds and runs the app in a simulator
- Run with the `-- --device` flag to get a device selector, e.g. to run on a physical Android phone
- Bonus task: painfully watch Gradle attempt to work

0 comments on commit c5349ba

Please sign in to comment.