Skip to content

Midlight25/community-oasis-dashboard

Repository files navigation

Community Oasis Dashboard

A web app for CEN 4010 class project.

Authors: Hakeem Johnson, Joshua Lavieri, Michael Mesquita, Sam Chowdhury, and (in memoriam) Joel Brigida.

Status

main: Firebase CD [main: CI Status] CodeQL made-with-javascript

How to set-up dev environment

  • Install the dependencies, npm install
  • Because the firebase configuration files are all setup, all you have to do is install the firebase emulators, firebase init emulators. The default choices are perfect as is. You will install the:
    • Authentication Emulator
    • Functions Emulator
    • Firestore Emulator
    • Hosting Emulator
    • Pub/sub Emulator

Scripts

These are the available scripts for development.

Start Emulation Environment

npm run start

Builds the whole project: web application and serverless functions; then starts the firebase emulators with the newly built content. This command does not support hot reload for the web app and therefore is unsuitable for anything other than previewing the full functionality of the app. Beware that it also takes a while to start.

Start Development Environment

npm run dev

Builds the web application with Parcel and serves it on the development server. Hot reloading is enabled. Cloud functions and emulators are not started with this command, and so that functionality will not be available in the web application. The webapp is not linted or type-checked.

npm run serve

Starts the available firebase emulators without building the project.

npm run serve:functions

Starts the Cloud Functions Firebase emulator. Runs npm subscript in functions/ subdirectory, please check out that package.json in that subdirectory for more further details.

Build Project

npm run build

Build the project for release, webapp and functions files are built and ready for deployment.

npm run build:{webapp|functions}

Build the specified portion of the project for deployment.

npm run start

Build the project and serve on the local emulators. Hot-reloading is not available.

npm run clean

Clean the project of the build artifacts and debug logs.

npm run clean:{debug|parcel}

Remove either the build artifacts or the debug logs from the project directory.

npm run check

Run the type checking scripts on the typescript portions of the project. The Cloud Functions are not included in this check.

npm run lint

Run the linter to check for possible errors in the files. Check for best programming practices and proper formatting.

npm run fix

Force fix the errors found by the linter including formatting errors.