Giter VIP home page Giter VIP logo

swimos / transit Goto Github PK

View Code? Open in Web Editor NEW
24.0 7.0 6.0 234 KB

Massively real-time city transit streaming application

Home Page: http://transit.swim.ai

License: Apache License 2.0

Java 41.35% HTML 7.00% TypeScript 48.34% JavaScript 2.49% Shell 0.59% Dockerfile 0.23%
nextbus streaming-data realtime real-time concurrency concurrent-programming rest-api streaming-api distributed-systems mapbox

transit's Introduction

Transit

Prerequisites

  • Install JDK 11+.

    • Ensure that your JAVA_HOME environment variable is pointed to your Java installation location.
    • Ensure that your PATH includes $JAVA_HOME.
  • Install Node.js.

    • Confirm that npm was installed during the Node.js installation.

Run

Windows

Install the Windows Subsystem for Linux.

Execute the command ./run.sh from a console pointed to the application's home directory. This will start a Swim server, seeded with the application's logic, on port 9002.

 user@machine:~$ ./run.sh

*nix

Execute the command ./run.sh from a console pointed to the application's home directory. This will start a Swim server, seeded with the application's logic, on port 9002.

 user@machine:~$ ./run.sh

View the UI

Open the following URL on your browser: http://localhost:9001.

Run as a Fabric

Run two Swim instances on your local machine to distribute the applications Web Agents between the two processes.

# Build the UI
server $ ./build.sh

# Start the first fabric node in one terminal window:
server $ ./gradlew run -Dswim.config.resource=server-a.recon

# Start the second fabric node in another terminal window:
server $ ./gradlew run -Dswim.config.resource=server-b.recon

When both processes are up and running, you can point your browser at either http://localhost:9008 (Server A) or http://localhost:9009 (Server B). You will see a live view of all Web Agents, regardless of which server you point your browser at. Swim transparently demultiplexes links opened by external clients, and routes them to the appropriate server in the fabric.

transit's People

Contributors

ajay-gov avatar brohitbrose avatar c9r avatar ctrinh avatar jcustenborder avatar sclarke27 avatar scottswim 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

transit's Issues

Enhance Documentation

Suggestions on how to enhance the Transit project explanation in the https://github.com/swimos/transit/tree/master/server README

  • Fix the broken link to FORMS at the end (currently links to TODO)
  • Go into more depth to explain the purpose/use of each agent (in the agent package section)
    • vehicles
    • agencies
    • states
    • countries
  • Explain the Vehicle-Agency-State-Country hierarchy that they agents follow
  • In a similar way to the agent package section ^, add a brief summary of the whys and hows for each POJO in the model package section
  • Explain the abstract flow of data (which is less obviously intuitive than what one would assume due to the agency level scope of the NextBusHttpAPI)
    • i.e. what happens as info is sent from NextBus -> AgencyAgent-> VehicleAgents -> UI
    • maybe even consider linking to/including excerpts of pertinent lines of code
    • [Go into detail about the "push down" flow of data

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.