https://github.com/hackclub/hcb-mobile
A Mobile App Implementation of HCB
https://github.com/hackclub/hcb-mobile
expo hackclub hcb react-native
Last synced: 6 months ago
JSON representation
A Mobile App Implementation of HCB
- Host: GitHub
- URL: https://github.com/hackclub/hcb-mobile
- Owner: hackclub
- License: mit
- Created: 2023-07-21T20:51:46.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2025-03-31T03:17:02.000Z (6 months ago)
- Last Synced: 2025-04-23T16:04:26.045Z (6 months ago)
- Topics: expo, hackclub, hcb, react-native
- Language: TypeScript
- Homepage: https://hcb.gg/mobile
- Size: 7.28 MB
- Stars: 26
- Watchers: 7
- Forks: 17
- Open Issues: 36
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
### _HCB but smaller!_
## Setup
HCB Mobile connects to HCB throught the v4 API.
You can either connect to the production HCB instance, or 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:///api/v4
EXPO_PUBLIC_CLIENT_ID=
```## 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
- 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## Contributing
Please see [CONTRIBUTING.md](CONTRIBUTING.md).