Codebase for Class Compass - vacant class locator for CU
The app is available on the Google Play Store. You can download it from the links below:
Apple App Store hopefully coming soon (if we dont stay broke)
- Node.js - JavaScript runtime (use latest LTS version)
- npm - Package manager
- Firebase - Realtime Database
- React Native - Cross-platform mobile app framework
- Expo - React Native development environment
First for the repo and clone it to your local machine.
We assume you already have git installed on your machine. If not, you can download it from here.
We also hope you have setup SSH keys for your github account. If not, you can follow the instructions here.
git clone [email protected]:<YOUR_USERNAME>/class-compass-cu.git
cd class-compass-cu/RNApp
NOTE: All commands assume you are inside the RNApp
directory. If not, it will be mentioned
npm install
- Create a new Firebase project
- Create a new file
.env
in/RNApp
and add the following environment variables
EXPO_PUBLIC_API_KEY=FIREBASE_API_KEY
EXPO_PUBLIC_AUTH_DOMAIN=FIREBASE_AUTH_DOMAIN
EXPO_PUBLIC_DB_URL=FIREBASE_DB_URL
EXPO_PUBLIC_PROJ_ID=FIREBASE_PROJECT_ID
EXPO_PUBLIC_STORAGE_BUCKET=FIREBASE_STORAGE_BUCKET
EXPO_PUBLIC_MESSAGING_SENDER_ID=FIREBASE_MESSAGE_SENDER_ID
EXPO_PUBLIC_APP_ID=FIREBASE_APP_ID
EXPO_PUBLIC_MEASURMENT_ID=FIREBASE_MEASURMENT_ID
- Replace the values with your Firebase project's API keys
- You will need to install and login to the expo cli to run the app. Follow the instructions here
- You will also need a google-services.json file from Firebase. Add an app, download its google-services.json and place it in
/RNApp
, then upload the file to eas secrets using the following command, as it will be ignored by the build.
eas secret:create --scope project --name GOOGLE_SERVICES_JSON --type file --value ./google-services.json
- Also upload the keys in .env file to eas secrets using the following command, as it will be ignored by the build.
eas secret:push --scope project --env-file ./.env
# For cloud build through EAS
eas build --profile development
# For local build
eas build --profile development --local
The dev build should be installed either on a real device or a simulator for development and live testing purposes. Every time new Native code is added to the project through expo or npm a new development build will have to be created and installed.
# For cloud build through EAS
eas build --profile production
# For local build
eas build --profile production --local
The production build can be installed on any device and will be used for testing before publishing to the app store.
Any and all contributions are welcome! Please create a new issue to report bugs or suggest new features. If you would like to work on an issue, please comment on it to let us know.
Any questions regarding development or build process are welcome on Github, or you can reach out to us at @darkweebletapps on Instagram, or mail us at [email protected]
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
See LICENSE for details.