Code Monkey home page Code Monkey logo

dcmetrometrics's People

Contributors

adunkman avatar emanuelfeld avatar leemendelowitz avatar stvnrlly avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

dcmetrometrics's Issues

Escalator Outage Data Visualization

Create a data visualization of escalator outages where we color code a day red if there was an escalator outage that day, green otherwise.

Links in HTML Snapshots don't work

We've created snapshots of the dynamic pages for google to index. The links in the snapshots do not work however.

Solution would be to add a rewrite rule to nginx to add the .html if it's missing to any location which points to the snapshots directory.

Add recent updates to units on station page

Each station should have a list of recent updates to its escalators/elevators, so we can quickly see what has changed recently at a glance without having to go to each units individual page.

This is similar to the list of recent updates that appears on the homepage, but filtered down to a particular station.

Create Outage animation

It would be really cool to create an outage animation where we dynamically show outages on a map. We could create an animation for outages using d3 similar to this flight visualization:

http://www.tnoda.com/blog/2014-04-02

Every break, fix, off, on status could emit a growing, fading colored circle at a station (red, green, orange, blue) for example.

Add a civic.json file

A civic.json file provides information about this project that's not included in the Github metadata. The full details of the format are here. Just put it in the root of your repo and we'll automatically display that info on the projects page.

Code for DC also has a tool to help put the file together here, and a validator to make sure everything's in the right place here.

(Also, since Code for DC is tracking this project, any issues tagged with help wanted will show up on http://codefordc.org/projects/helpwanted.html. If you are stuck on something, try that!)

Rankings table detail toggle

Add a toggle which shows or hides escalators descriptions.

Also, a tooltip over the escalator id which shows it's currrent status would be awesome.

Added "Current Outage Streaks" to escalator data

Add a "active streaks" to the escalators/elevators page. This would be summaries of the longest current outages.

It should include the total time of the outage, not just of the most recent status. For example, "Callback/Repair -> minor repair" should be one outage comprising multiple statuses.

Outage days incomplete for active outages

Outage class does not generate the full list of outage days when the outage is still ongoing. The generated json for the unit's performance summary does not include the outage days of an active outage, and as a result the "Daily Escalator Outages" visualization has some stale information.

For example, if an escalator breaks on Jan 1 and is fixed Jan 5th, the outage days of Jan 1, 2, 3, 4, 5 don't appear in the visualization until the outage is over.

Remove the "end_time" from KeyStatuses lastStatus

The end_time is set on some unit's latest status. The end_time should only be set when the status is followed by another status.

Add code to the utils to recompute key statuses, and then remove the end time from any lastStatus if end_time has been set.

It's not clear how the end_time on the lastStatus was set in the first place, but it may have happened when bad code was committed and deployed, and an Exception was thrown on a status change when the old status's end_time was set but before properly saving the new status.

Consider consolidating ELES Data Models into single document

Move KeyStatuses and UnitPerformanceSummary into the Unit object. A unit can only have a single KeyStatuses and a single UnitPerformanceSummary document, so it is probably easier to embed them in a single document.

The UnitStatuses should probably remain separate from the Unit document, because occasionally we query for UnitStatuses by time period across all units.

It's worth considering this.

Use Angular UI Router for nested view

We need to start using Angular UI-router for nested views. Some examples of use cases:

  • On outages page, show the escalator outages or elevator outages pane.
  • On station page, show the escalator, elevator, or recent changes pane.
  • On a unit page, it's summary statistics, or it's full status history.

This way we have a url for the outages page, or a station page

https://github.com/angular-ui/ui-router

Time Zone issue in Ubuntu

There is an issue with timezones in Ubuntu linux.

dateutil.zoneinfo.gettz("America/New_York")

returns None. This needs to be investigated further.

Running the utils/generateAllWebPages.py script produces this issue.

Exception while parsing escalator outage station field.

This exception is being thrown when parsing outage data. Perhaps WMATA is providing malformed data about a station.

We should better handle bad quality data coming from WMATA API.

2015-10-08 07:37:43,254 - ELESApp - ERROR - Traceback:
Traceback (most recent call last):
  File "/home/lmendelo/dcmetrometrics/repo/ELESAppRunner.py", line 66, in _run
    self.app.tick()
  File "/home/lmendelo/dcmetrometrics/repo/dcmetrometrics/eles/ELESApp.py", line 165, in tick
    incidents = getELESIncidents()
  File "/home/lmendelo/dcmetrometrics/repo/dcmetrometrics/eles/ELESApp.py", line 91, in getELESIncidents
    incidents = [Incident(i) for i in incidents]
  File "/home/lmendelo/dcmetrometrics/repo/dcmetrometrics/eles/Incident.py", line 51, in __init__
    self.addAttr()
  File "/home/lmendelo/dcmetrometrics/repo/dcmetrometrics/eles/Incident.py", line 68, in addAttr
    if ',' in stationName:
TypeError: argument of type 'NoneType' is not iterable

run_daily_service_reports does extra work

run_daily_service_reports.py does more work than necessary for units whose most recent status is a long running operational status. This should be fixed to only go back in time for units whose most recent status is a long running non-operational status.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.