Skip to content

Ground hosted components: Web console, Cloud Functions, db config

License

Notifications You must be signed in to change notification settings

rmhasan/ground-platform

 
 

Repository files navigation

Ground

Open Source Helpers

Ground is an open-source, map-first data collection platform built to seamlessly connect the offline world with cloud-based storage and computation. The platform consists of a web app for survey management, and an Android app for offline data collection. Our goal is to provide a "just right" data collection solution that meets the needs of community organizers, conservationists, humanitarian workers, and researchers addressing some of today's most pressing issues.

Note: Ground is not an officially supported Google product, and is developed on a best-effort basis.

You can learn more about Ground on the project website.

About this Repository

This repo contains all Ground cloud-based / hosted components:

Directory Component
docs/ Public documentation, including Ground homepage
firestore/ Firestore config defining Firebase rules and other database settings
functions/ Firebase Cloud Functions, used to sync with Google Sheets and import/export data to/from other data sources
web/ Ground web console used to set up and manage surveys, and to view, edit, and analyze collected data online

Follow the instructions provided in the README of each subdirectory to set up the proper development environment for each component.

Contributing

We'd love to accept your patches and contributions to this project. For more information, including details on the required Contributor License Agreement (CLA), code reviews, and environment setup, see Contributing to Ground Platform.

Getting started

Node.js

Note: This guide assumes nvm (Node Version Manager) will be used to install and manage Node.js versions. For more information on nvm, including installation instructions, see https://github.com/creationix/nvm#installation>

Once you have nvm installed, install Node.js with:

$ nvm install 16 && nvm use 16

Then install the Angular CLI using npm using:

$ npm install -g @angular/cli

Quickstart

To get up and running quickly, you can run the web app against the local Firebase emulator.

To install dependencies and start the emulator, run:

$ cd functions && npm install && npm run emulators

Leave the emulator running, and in a new shell execute the following:

$ cd web && npm install && npm run start:dev

Once the local server is ready, you can navigate to http://localhost:4200/survey/new to create a new Ground survey. Note that for expediency, the above commands start the app without valid API keys, so warnings related to missing API keys are expected.

Next steps

To set up your environment for developing Cloud Functions against a real Firebase project, see functions/README.md.

For further instructions on working with the Angular web app, see web/README.md.

Building and Deploying Ground from Source

For step-by-step instructions setting up your own instance of Ground, see the documentation for building and deploying Ground from the source.

About

Ground hosted components: Web console, Cloud Functions, db config

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 82.9%
  • HTML 9.2%
  • SCSS 5.3%
  • JavaScript 1.1%
  • Other 1.5%