GithubHelp home page GithubHelp logo

betterbuses's Introduction

#Better Buses

A better bus schedule for RIT for a more enlightened time.

##About

Bus schedules can be hard and convoluted to read. When you want to get from point A to point B, you are required to inherently know which bus route that applies to, and you're supposed to inherently know what all the little symbols mean, and if you don't understand, you need to hunt down the key and are forced to figure it out.

Computers today can do all the hard work for you, leaving you with the right information needed to get from point A to point B at any time you wish.

Better buses is aimed to convert RIT's bus schedules first into a computer-friendly format, so that they may present the information to humans in a friendly manner.

##Bus Schedule Input Notation

The bus schedules are input in a .schedule file that adheres to the following syntax definitions.

  • Commands are on a line-by-line basis. Commands end with a new-line.
  • Comments are any line that begin with a # character. There are no multi-line comments.
  • Commands can input data or set the variables for data.
    • :set commands
      • :set days is followed by the days that the input data will apply to
      • :set stops is followed by the stops for the current route in order they are visited. The stops are visited in a cicular maner for input data, and individual stops are delinated by the > character.
      • :set route is followed by the name of the route for input data. If a : character follows the route name, the route will be followed by the stops for the route (this is a kind of short-hand/syntatic-sugar).
    • The :q command will print the resulting JSON representation of the bus schedule and quit the program.
    • All other commands are data input for times. Delineated by > characters, bus stop times are in order of the stops and will loop around the stops in circles.
      • If a stop time is in the format STOP_NAME - TIME, it represents a special case stop inserted between the two normally occuring stops.
      • If a stop is to be skipped, place nothing between the > characters.

The following is an example of a .schedule file.

# Imaginary Bus Schedule
:set route Candy Land Route
:set stops Gumdrop Forrest > Chocolate River > Candy Mountain
:set days Monday,Tuesday,Wednesday,Thursday,Friday
# these times depart from the Gumdrop Forest, go to the Chocolate River,
# arrive at Candy Mountain, and then return to the Gumdrop Forest
9:00 > 9:20 > 9:30 > 9:50
:set days Saturday,Sunday,Holiday
# these times depart from the Gumdrop Forest, make a special stop at the Caremel Lake,
# go to the Chocolate River, arrive at Candy Mountain, and then return to the Gumdrop Forest
10:00 > Caremel Lake - 10:10 > 10:20 > 10:30 > 10:50
:set route McDonalds World : Burgers > Fries > Salads
:set days All
11:00 > 11:10 > 11:20 > 11:30 > 11:40 > 11:50 > 12:00P

betterbuses's People

Contributors

libsteve avatar nickserv avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

rit-sse

betterbuses's Issues

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.