Giter VIP home page Giter VIP logo

class-compass-cu's Introduction

Class Compass CU

Codebase for Class Compass - vacant class locator for CU

Download the app

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)

Getting Started

Tech Stack Used

  • 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

Clone the repo

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

Install dependencies

npm install

Setup API keys

  • 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

Running the app

Creating a development build

# 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.

Creating a production build

# 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.

Contributing

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]

License

CC BY-NC-SA 4.0 CC BY-NC-SA 4.0

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

See LICENSE for details.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.