.. 
.. Copyright 2015 Comcast Cable Communications Management, LLC
.. 
.. 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 Stats
*************

Introduction
============
Traffic Stats is a ... 

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

* ?

Traffic Stats Project Tree Overview
=====================================

Go Formatting Conventions 
============================

Installing The Developer Environment
====================================
To install the Traffic Ops Developer environment:

1. Clone the traffic_control repository using Git.

Test Cases
==========
The test harness ... 

