Traffic Portal

Introduction

Traffic Portal is an AngularJS 1.x client served from a Node.js web server designed to consume the Traffic Ops API. Traffic Portal is the official replacement for the legacy Traffic Ops UI.

Software Requirements

To work on Traffic Portal you need a *nix (MacOS and Linux are most commonly used) environment that has the following installed:

Note

The Traffic Portal consumes the Traffic Ops API. By default, Traffic Portal assumes Traffic Ops is running on https://localhost:8444. Temporarily modify traffic_portal/conf/config.js if you need to change the location of Traffic Ops.

Traffic Portal Project Tree Overview

  • traffic_control/traffic_portal/app/src - contains HTML, JavaScript and Sass source files.

Installing The Traffic Portal Developer Environment

  1. Clone the Traffic Control Repository
  2. Navigate to the traffic_portal subdirectory of your cloned repository.
  3. Run npm install to install application dependencies into traffic_portal/node_modules. Only needs to be done the first time unless traffic_portal/package.json changes.
  4. Run bower install to install client-side dependencies into traffic_portal/app/bower_components. Only needs to be done the first time unless traffic_portal/bower.json changes.
  5. Run grunt to package the application into traffic_portal/app/dist, start a local HTTPS server (Express), and start a file watcher.
  6. Valid SSL certificates and keys are needed for Traffic Portal to run. Generate these (e.g. using this SuperUser answer) and edit the traffic_portal/conf/config.json file to reflect their names and locations
  7. Navigate to https://localhost:8443 (default listening address/port)