gt-scheduler / firebase-conf

Configuration & source code for Firebase products that are used within GT Scheduler

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Firebase Configuration

This repository contains the configuration for Firebase Cloud Firestore and the source code for Firebase Cloud Functions. GT Scheduler's app uses both of these to handle:

  • storing schedule data
  • read-through caching requests to Course Critique's API

πŸš€ Developing functions

To work with with the Cloud Functions in this repository, run the following commands from within the /functions directory (make sure you have Node.js 18+ and Yarn v1 installed beforehand):

npm install -g firebase-tools
yarn install
yarn build
yarn serve

You should then be able to access the Firebase local emulator suite running at http://localhost:4000/, and run functions at their URLs. For example, to run the getCourseDataFromCourseCritique function, you can run the following command:

curl "http://localhost:5001/gt-scheduler-web-prod/us-central1/getCourseDataFromCourseCritique?courseID=CS%201332"

🚧 Staging changes

To test changes to firebase config and functions online, you should use the development Firebase app (gt-scheduler-web-dev). You'll need to log in to the GT Scheduler FIrebase account (using firebase login). Once this is done, run firebase deploy --project dev to stage your changes.

πŸ“¦ Deploying changes

To deploy changes (to either the firestore config or functions) to the production Firebase app (gt-scheduler-web-prod), you'll need to log in to the GT Scheduler Firebase account (using firebase login). Once this is done, simply run firebase deploy --project prod in the repository root to deploy all changes.

About

Configuration & source code for Firebase products that are used within GT Scheduler

License:GNU Affero General Public License v3.0


Languages

Language:TypeScript 98.7%Language:JavaScript 1.3%