Transitime 0.1 (beta) is an open source project created and managed by Swiftly, Inc. to help transit agencies generate more accurate and reliable real-time arrival information for passengers. This version of the code is an early beta release and should not be used for production implementations. Please reach out to Swiftly at [email protected] for the most up-to-date software.

54
65
Java

core

The complete core Java software for the Transitime 0.1 (beta) real-time transit information project. Transitime is a project created and managed by Swiftly, Inc. (www.goswift.ly).

The goal of Transitime is to use any type of real-time GPS data to generate useful public transportation information. The system is for both letting passengers know the status of their vehicles and for helping agencies more effectively manage their systems. By providing a complete open-source system, agencies can have a cost effective system and have full ownership of it.

This is an early beta version of the software and it should not be used for production systems. If you would like access to the production grade version of Transitime, please reach out to the Swiftly team at [email protected].

Build

The software is made up of three modules which can each be built with maven. See BUILD.md

The core functionality is in the transitime project. The REST api is in transitimeApi and the user Web applicaton is in transitimeWebapp.

Setup

The main module is transitTime. This has several standalone programs in the org.transitime.applications package.

SchemaGenerator.java will generate the SQL to create the database structures you need to run on.

DBTest.java can be used to test that the database can be connected to.

GTFSFileProcessor.java will read a GTFS file into this database structure.

Core.java is as the name implies is the workhorse of the system.

RmiQuery.java allows you make queries to the server run in core from the command line.

CreateAPIKey.java a test app to allow you create test/demo key to access REST api webapp.

Details on how to run each of these and their respective parameters are in the README for the transitime module.

Once this is set up the next step is to set up the transitimeApi which is a RESTful API. This API makes RMI calls to the RMI Server started by Core.java to provide results. This is a war file which can be deployed into Tomcat.

The transitimeWebapp in turn is a web application which uses the transitTimeAPI to provided a user interface. This is a war file which can be deployed into Tomcat. This connects to the database and the connection information is configured in hibernate.cfg.xml in the src/main/resources directory. Currently this needs to be deployed on the same server as the API.