Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions BUILD.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
The software is made up of three modules which can each be built with maven.

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

1. transitime
2. transitimeApi
3. transitimeWebapp

The project can be built from the root "core" directory by running "mvn install -DskipTests".
The project can be built from the root "core" directory by running `mvn install -DskipTests`.
28 changes: 14 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,33 +1,33 @@
core [![Build Status](https://travis-ci.org/TheTransitClock/transitime.svg?branch=develop)](https://travis-ci.org/TheTransitClock/transitime)
====

The complete core Java software for the Transitime real-time transit information project. The goal 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 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.
The complete core Java software for the Transitime real-time transit information project. The goal 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 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.

<b>Build</b>

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

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

<b>Setup</b>

The main module is transitTime. This has several standalone programs in the org.transitime.applications package.
The main module is transitTime. This has several standalone programs in the [org.transitime.applications](./transitclock/src/main/java/org/transitclock/applications) package.

SchemaGenerator.java will generate the SQL to create the database structures you need to run on.<br/>
DBTest.java can be used to test that the database can be connected to.<br/>
GTFSFileProcessor.java will read a GTFS file into this database structure.<br/>
Core.java is as the name implies is the workhorse of the system. <br/>
RmiQuery.java allows you make queries to the server run in core from the command line.<br/>
CreateAPIKey.java a test app to allow you create test/demo key to access REST api webapp.<br/>
CreateWebAgency.java is used to create and agency that will work in transitimeWebapp.<br/>
[SchemaGenerator.java](./transitclock/src/main/java/org/transitclock/applications/SchemaGenerator.java) will generate the SQL to create the database structures you need to run on.<br/>
[DBTest.java](./transitclock/src/main/java/org/transitclock/applications/DbTest.java) can be used to test that the database can be connected to.<br/>
[GTFSFileProcessor.java](./transitclock/src/main/java/org/transitclock/applications/GtfsFileProcessor.java) will read a GTFS file into this database structure.<br/>
[Core.java](./transitclock/src/main/java/org/transitclock/applications/Core.java) is as the name implies is the workhorse of the system. <br/>
[RmiQuery.java](./transitclock/src/main/java/org/transitclock/applications/RmiQuery.java) allows you make queries to the server run in core from the command line.<br/>
[CreateAPIKey.java](./transitclock/src/main/java/org/transitclock/applications/CreateAPIKey.java) a test app to allow you to create test/demo key to access REST api webapp.<br/>
[CreateWebAgency.java](./transitclock/src/main/java/org/transitclock/applications/CreateWebAgency.java) is used to create and agency that will work in transitimeWebapp.<br/>

Details on how to run each of these and their respective parameters are in the README for the transitime module.
Details on how to run each of these and their respective parameters are in the [README](./transitclock/README.md) 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.
The transitimeWebapp in turn is a web application which uses the transitTimeAPI to provide 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](./transitclockQuickStart/src/main/resources/hibernate.cfg.xml) in the `src/main/resources` directory. Currently, this needs to be deployed on the same server as the API.

The transitimeQuickStart can be built with mvn install and ran using java -jar transitimeQuickStart it is currently a work in progress but the gui elements can be seen.
The transitimeQuickStart can be built with `mvn install` and ran using `java -jar transitimeQuickStart` it is currently a work in progress but the gui elements can be seen.

[![Build Status](https://zenodo.org/badge/DOI/10.5281/zenodo.3550975.svg)](https://zenodo.org/record/3550975#.XdgmVedKjOQ)

9 changes: 4 additions & 5 deletions transitclock/README.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,17 @@
There are several main classes which are used in the set up of the system. These can be run directly by specifying the class to run or by using the executable jar in the target directory.
There are several main classes which are used in the set-up of the system. These can be run directly by specifying the class to run or by using the executable jar in the target directory.

The steps to set up the system are
<ul>
<li>Create Database. For this step you are on your own and you should find instructions on the related database providers web sites.
<li>Create Database. For this step you are on your own, and you should find instructions on the related database providers websites.
</li>
<li>Create Database structures
using generateDatabaseScheme.jar
</li>
</li>
<li>Import GTFS static data using
processGTFSFile.jar
</li>
<li>Get access to a source of realtime GPS data.</li>
<li>Create transiTime module to read realtime GPS data or create a converter to convert the realtime datasource to a GTFS-RT vechicle location source.</li>
<li>Create transiTime module to read realtime GPS data or create a converter to convert the realtime datasource to a GTFS-RT vehicle location source.</li>
<li>Config and run core module</li>
<li>Create Web Agency using WebAgency class</li>
<li>Create API key. For the moment see TestAPIKeyManager.java test. The testAPIKeyManger test will create a key for you.</li>
Expand All @@ -23,7 +22,7 @@ The steps to set up the system are

generateDatabaseSchema.jar -- Main class: org.transitclock.applications.SchemaGenerator
=================================
ISSUE: skip to ISSUE below for the moment as there is a classloader issue when using onejar.
ISSUE: skip to ISSUE below for the moment as there is a classloader issue when using one jar.
<br/>
The jar generateDatabaseSchema.jar can be used to re-generate the SQL required to create the database structures required to run transiTime. It generates three files in the specified directory. A file is generated for each supported database type. (Postgres, Oracle, Mysql). The script generated will drop tables that already exist.
<br/>
Expand Down
7 changes: 5 additions & 2 deletions transitclockQuickStart/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,17 @@ How to set up transiTime QuickStart:

to build the program, you can do this with the command

```shell
mvn install -DskipTests
```

This will take a few minutes to run. when complete navigate to
transitimeQuickStart
from here you see the target/transitimeQuickStart.jar to run it from here enter the line:

from here you see the `target/transitimeQuickStart.jar` to run it from here enter the line:

```shell
java -jar -Dtransitclock.configFiles=src/main/resources/transitclock.properties target/transitclockQuickStart.jar
```

The gui should then pop up if done correctly.

Expand Down