blob: 8950d121d651ad7808846898a27144e5fe43f129 [file] [log] [blame]
..
..
.. Licensed under the Apache License, Version 2.0 (the "License");
.. you may not use this file except in compliance with the License.
.. You may obtain a copy of the License at
..
.. http://www.apache.org/licenses/LICENSE-2.0
..
.. Unless required by applicable law or agreed to in writing, software
.. distributed under the License is distributed on an "AS IS" BASIS,
.. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
.. See the License for the specific language governing permissions and
.. limitations under the License.
..
Traffic Portal
**************
Introduction
============
Traffic Portal is an `AngularJS 1.x <https://angularjs.org/>`_ client served from a `Node.js <https://nodejs.org/en/>`_ web server designed to consume the Traffic Ops 1.x API. Traffic Portal provides a set of functionality restricted to the delivery service(s) of the authenticated user. Functionality primarily includes a set of charts / graphs designed to provide insight into the performance of a user's delivery service(s).
Software Requirements
=====================
To work on Traffic Portal you need a \*nix (MacOS and Linux are most commonly used) environment that has the following installed:
* `Ruby 2.0.x or above <https://www.ruby-lang.org/en/>`_
* `Compass 1.0.x or above <http://compass-style.org/>`_
* `Node.js 6.0.x or above <https://nodejs.org/en/>`_
* `Bower 1.7.9 or above <https://nodejs.org/en/>`_
* `Grunt CLI 1.2.0 or above <https://github.com/gruntjs/grunt-cli>`_
* Access to a working instance 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
===================================================
- Clone the traffic_control repository
- Navigate to the traffic_control/traffic_portal of your cloned repository.
- Run ``npm install`` to install application dependencies. Only needs to be done the first time unless traffic_portal/package.json changes.
- Run ``bower install`` to install client-side dependencies. Only needs to be done the first time unless traffic_portal/bower.json changes.
- Run ``grunt`` to package the application into traffic_portal/app/dist, start a local http server (Express), and start a file watcher.
- Navigate to http://localhost:8080
Notes
=====
- The Traffic Portal consumes the Traffic Ops API. By default, Traffic Portal assumes Traffic Ops is running on http://localhost:3000. Temporarily modify conf/config.js if you need to change the location of Traffic Ops.