Java FX UI

Raildelays is mainly a Java application which accumulates train delays from the Belgian railway company called NMBS/SNCB.

Лицензия

Лицензия

Категории

Категории

Java Языки программирования
Группа

Группа

com.github.almex
Идентификатор

Идентификатор

raildelays-java-fx-ui
Последняя версия

Последняя версия

2.0.0-beta.2
Дата

Дата

Тип

Тип

jar
Описание

Описание

Java FX UI
Raildelays is mainly a Java application which accumulates train delays from the Belgian railway company called NMBS/SNCB.

Скачать raildelays-java-fx-ui

Как подключить последнюю версию

<!-- https://jarcasting.com/artifacts/com.github.almex/raildelays-java-fx-ui/ -->
<dependency>
    <groupId>com.github.almex</groupId>
    <artifactId>raildelays-java-fx-ui</artifactId>
    <version>2.0.0-beta.2</version>
</dependency>
// https://jarcasting.com/artifacts/com.github.almex/raildelays-java-fx-ui/
implementation 'com.github.almex:raildelays-java-fx-ui:2.0.0-beta.2'
// https://jarcasting.com/artifacts/com.github.almex/raildelays-java-fx-ui/
implementation ("com.github.almex:raildelays-java-fx-ui:2.0.0-beta.2")
'com.github.almex:raildelays-java-fx-ui:jar:2.0.0-beta.2'
<dependency org="com.github.almex" name="raildelays-java-fx-ui" rev="2.0.0-beta.2">
  <artifact name="raildelays-java-fx-ui" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.github.almex', module='raildelays-java-fx-ui', version='2.0.0-beta.2')
)
libraryDependencies += "com.github.almex" % "raildelays-java-fx-ui" % "2.0.0-beta.2"
[com.github.almex/raildelays-java-fx-ui "2.0.0-beta.2"]

Зависимости

compile (14)

Идентификатор библиотеки Тип Версия
com.github.almex : raildelays-batch jar 2.0.0-beta.2
org.springframework.batch : spring-batch-core jar 3.0.7.RELEASE
org.springframework.batch : spring-batch-infrastructure jar 3.0.7.RELEASE
org.springframework : spring-context jar 4.3.1.RELEASE
com.sun.mail : javax.mail jar 1.5.2
org.apache.poi : poi jar 3.13
org.apache.poi : poi-ooxml jar 3.13
org.hsqldb : hsqldb jar 2.3.4
org.slf4j : slf4j-api jar 1.7.12
org.apache.logging.log4j : log4j-slf4j-impl jar
org.apache.logging.log4j : log4j-core jar
org.apache.logging.log4j : log4j-api jar
org.apache.logging.log4j : log4j-1.2-api jar
org.jboss.logging : jboss-logging jar 3.3.0.Final

runtime (1)

Идентификатор библиотеки Тип Версия
com.lmax : disruptor jar 3.3.2

test (5)

Идентификатор библиотеки Тип Версия
org.springframework : spring-test jar 4.3.1.RELEASE
org.springframework.batch : spring-batch-test jar 3.0.7.RELEASE
junit : junit jar 4.12
org.hamcrest : hamcrest-junit jar 2.0.0.0
org.easymock : easymock jar 3.4

Модули Проекта

Данный проект не имеет модулей.

Raildelays

Build Status Coverage Status Maven Central

Raildelays is mainly a Java application which accumulates train delays from the Belgian railway company called NMBS/SNCB. In futur development, we will extend possibilities to be able to deal with other railway company or other vehicles (i.e: bus, airplane, truck, cars,...).

Timetable (futur)

When we talk about train timetable or scheduling we only talk about what is the planed route for a train. Meaning that a certain train will move from one station to another and the timetable show you the expectedTime arrival time and the exepected departure time for each stop.

Liveboard (present)

We use a liveboard to know directly if your train is on time or not. It gives you the expectedTime time and the delay comparing to what is expectedTime. It only show trains which are not arrived yet to a certain station.

Route log (past)

Give you the expectedTime time, the effective time and if a stop was deserved or not.

In practical with NMBS/SNCB trains, you should be able to know the timetable of a train based on its collected route log because timetables remain commonly the same for every day of a week and are subject to unfrequent changes. But, you should consider all of those views as seperate source of data. You can have change of a timetable leading to different versions and then a route log should used, as expectedTime time, the last version of the timetable. A liveboard is a little in between but it gives you information only for a certain station and you cannot follow the complete train traject.

Building from Source

Clone the git repository using the URL on the Github home page:

$ git clone git://github.com/almex/Raildelays.git
$ cd Raildelays

Command Line

Use Maven 3.0, then on the command line:

$ mvn install

or, you can execute integration tests via:

$ mvn install -Pit

Application Design

Input

  • HTTP Client/Streamer
  • HTTP Parser

Output

  • Excel Sheet
  • Flat file

API

  • repository layer
  • service layer

Front-end

  • non-interactive batch engine (mobile or desktop)
  • desktop UI (Java FX)
  • mobile UI (Android)

Application Architecture

To be able to analyze data from an external system (e.g. : www.railtime.be), we have to persist them in our data model.

Languages

  • Java: chosen for its portability and its power.
  • Groovy: chosen for its easiness to parse DOM documents (XML, XHTML,...).

Frameworks

  • Apache POI: to write Microsoft Excel sheets
  • Spring Core: for Dependency Injections and Invertion of Control to make the leverage the modularity of the application to a high level.
  • Spring Batch: to build a non-interactive and fully automated batch process.
  • Spring Data: to simplify DAO creation.
  • JPA: to abstract persistence layer.
  • Hibernate: as a JPA implementation.
  • JUnit: as a testing framework.
  • Spring Test: as an add-on to JUnit to simply testing.
  • Derby: as an embedded database (Desktop).
  • HSQLDB: as an in-memory database to execute integration tests (default with Spring Test)

Quality Assurance

To able to measure Code Quality, the application was configured to be used with Sonar.

The JaCoCo Maven plug-in has been configured to measure code coverage separately for unit tests and integration tests.

Licensing

This project is licensed under the terms of the MIT license.

Версии библиотеки

Версия
2.0.0-beta.2
2.0.0-beta.1