Skip to content

Latest commit

 

History

History
100 lines (62 loc) · 3.46 KB

README-dev.md

File metadata and controls

100 lines (62 loc) · 3.46 KB

SAGE3: Smart Amplified Group Environment

SAGE3 is software to enable data-rich collaboration on high-resolution display walls. SAGE2 moved SAGE into cloud computing and SAGE3 ushers in the inclusion of artificial intelligence. Scientists analyzing their data in SAGE3 will collaborate with each other and with artificial intelligence through large interactive visualization spaces, such as multi-monitor workstations, tiled display walls, and virtual reality headsets.


Directories

There are three different directories within the root of the repo; deployment, foresight, and webstack.

Deployment

Deployment contains the Docker files to stand up a Dockerized SAGE3 instance. It also contains configuration files for the various backend services.

While developing for SAGE3 only a portion of the Docker images will be running while the "Webstack" Node server will be running locally.

Foresight

Foresight contains Python related code that brings a Python kernel to SAGE3 and various articifical intelligence tools.

Webstack

Webstack contains a Nrwl Nx Monorepo that contains the Node.js backend server and the React frontend web app.

While developing for SAGE3 it is ideal to run the Node.js server and React WebApp locally instead of within a Docker image.


Developer Quick Start

Setup

  1. Install Docker Desktop
  2. Install Node.js
  3. Install Python3

From a terminal run the following commands to install yarn and to start the initial setup of the Webstack.

# Change your directory to the webstack folder
cd ./webstack
# Install the yarn package manager
npm install --global yarn
# Install the Webstack's dependencies
yarn
# Stage and create the required folders/files
yarn stage

Running

To start running the dev environment first run the Docker Backend:

# Change your current directory to the deployment folder
cd ./deployment
# Spin up the Docker images
docker-compose -f docker-compose-backend.yml  up --remove-orphans

Second we will start up the Webstack:

# Open a new terminal and change your current directory to the webstack folder
cd ./webstack
# Start the backend Nodejs web server application
yarn start
# Start the frontend React web application
yarn start webapp

Open a Chrome browser and navigate to localhost:4200

Editing and saving code within /webstack/apps or /webstack/libs should hot reload the webpage.


Branches

Master

Stable branch that is for production servers.

Dev

Development branch used to test new features and will be installed on EVL and LAVA servers

Feature Branches

Feature branches should branch off of the dev branch and explain their purpose in their name. When the branch is ready to be incorporated into dev a pull request should be created within GitHub. The branch will be reviewed by core SAGE3 members before being merged into dev.


Deploying Your own SAGE3 Server

TODO Needs information on how to setup the SAGE3 Production Server