Technical Overview - bluecolab/BlueColab_MobileDataViz GitHub Wiki

Technical Overview

Data and Content Providers

flowchart TD
    phone(AquaWatch Mobile App)
    bc_api[(Blue CoLab API)]
    usgs[(USGS/HRECOS)]
    openweather[(OpenWeather)]
    wordpress[WordPress]

    phone<-- api call -->bc_api
    phone<-- api call -->usgs
    phone<-- embedded -->wordpress
    phone<-- api call -->openweather

Figure 1: Block Diagram, showing basic interfaces. Depicts all the services the AquaWatch Mobile App talks to.

First and foremost is the app. Outside of the app, we use three different services. Split into two different types (1) Data providers and (2) content provider(s).

Data providers:

  1. Blue CoLab API - Used to fetch data for Choate Pond (from Alan specifically).

    1. API calls are made directly from the application.
    2. Check the status of the API: https://colabprod01.pace.edu/grafana/d/aR5DJBvVk1/water-monitor-alan?orgId=1&refresh=15m
  2. USGS Waterservices API - Used to fetch data for non-Choate Pond locations, including but not limited New York City, Piermont, West Point, Poughkeepsite, Albany, Choes, Gowanda, and Botanical Garden/Bronx River.

    1. API calls are made directly from the application.
    2. Check the status of the API: https://github.com/bluecolab/BlueColab_MobileDataViz/tree/main/health_checks
  3. OpenWeather - Service used to gather current Air Quality Index (AQI).

    1. API calls are made directly from the application
    2. To change the look, edit the corresponding file in aquawatch_mobile_app.

Content provider:

  1. Wordpress - Blue CoLab's wordpress is used to host the 'Blue CoLab Blogs' page.
    1. The site is embedded in the app.
    2. No API calls are made.
    3. To change the look, edit the following site. To edit the sites - please ask Professor Cronin for Wordpress Access.
      1. https://bluecolab.blogs.pace.edu/blog-app/

Other Services

  1. GitHub/GitHub Projects/GitHub Actions - Code Repo, project management, and workflow automation
    1. Check the service status: https://www.githubstatus.com/
  2. npm - Package manager
    1. Check the service status: https://status.npmjs.org/
  3. Expo EAS - Used to build, compile, and sign Android/iOS apps on the cloud
    1. Check the service status: https://status.expo.dev/
    2. Check the service load: https://expo.dev/eas-build-status