Skip to content

Commit

Permalink
Merge pull request #20 from naviqore/feature/NAV-16-setup-spring-with…
Browse files Browse the repository at this point in the history
…-rest

Feature/nav 16 setup spring with rest
  • Loading branch information
munterfi authored May 26, 2024
2 parents c60524e + c80ed7c commit 30e7afa
Show file tree
Hide file tree
Showing 21 changed files with 1,282 additions and 16 deletions.
48 changes: 46 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,47 @@
# Round-Based Public Transit Routing
# Public Transit Service

Implementation of the round-based public transit routing (RAPTOR) algorithm.
Public transit schedule information and connection routing service based on GTFS data and the RAPTOR algorithm.

## Features

- **GTFS Integration:** Integrates public transit schedules using the General Transit Feed Specification (GTFS)
format [1].
- **Efficient Routing:** Utilizes the RAPTOR (Round-based Public Transit Routing) algorithm for optimized transit
routes [2].
- **RESTful API:** Provides an API for querying transit schedule information and connections.

## Installation

1. Clone the repository:
```bash
git clone https://github.com/naviqore/public-transit-service.git
cd public-transit-service
```

2. Build the project using Maven:

```bash
mvn clean install
```

3. Run the application:

```bash
mvn spring-boot:run
```

## Usage

Access the service at http://localhost:8080 to explore schedules and query transit connections.

## License

This project is licensed under the GPL-3.0 license. See the [LICENSE](LICENSE) file for details.

## References

[1] General Transit Feed Specification. (n.d.). Retrieved May 25, 2024, from [https://gtfs.org/](https://gtfs.org/)

[2] Delling, D., Pajor, T., & Werneck, R. F. (2012). Round-Based Public Transit Routing. In *2012 Proceedings of the
Meeting on Algorithm Engineering and Experiments (ALENEX)* (pp. 130-140).
SIAM. [https://doi.org/10.1137/1.9781611972924.13](https://epubs.siam.org/doi/abs/10.1137/1.9781611972924.13)
63 changes: 51 additions & 12 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,21 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.3.0</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>ch.naviqore</groupId>
<artifactId>naviqore-raptor</artifactId>
<artifactId>public-transit-service</artifactId>
<version>1.0.0-SNAPSHOT</version>

<name>RAPTOR</name>
<description>Round-based public transit routing (RAPTOR) algorithm implementation.</description>
<url>https://github.com/naviqore/raptor</url>
<name>Public Transit Service</name>
<description>
Public transit schedule information and connection routing service based on GTFS data and the RAPTOR algorithm.
</description>
<url>https://github.com/naviqore/public-transit-service</url>

<licenses>
<license>
Expand All @@ -35,13 +42,14 @@
</developers>

<scm>
<connection>scm:git:git://github.com/naviqore/raptor.git</connection>
<developerConnection>scm:git:ssh://github.com/naviqore/raptor.git</developerConnection>
<url>https://github.com/naviqore/raptor</url>
<connection>scm:git:git://github.com/naviqore/public-transit-service.git</connection>
<developerConnection>scm:git:ssh://github.com/naviqore/public-transit-service.git</developerConnection>
<url>https://github.com/naviqore/public-transit-service</url>
</scm>

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>21</java.version>
<maven.compiler.source>21</maven.compiler.source>
<maven.compiler.target>21</maven.compiler.target>
</properties>
Expand Down Expand Up @@ -72,6 +80,10 @@
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>

Expand All @@ -80,7 +92,7 @@
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.10.2</version>
<version>5.11.0-M1</version>
<scope>test</scope>
</dependency>
<dependency>
Expand All @@ -92,7 +104,7 @@
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-junit-jupiter</artifactId>
<version>5.11.0</version>
<version>5.12.0</version>
<scope>test</scope>
</dependency>
<dependency>
Expand All @@ -117,12 +129,12 @@
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.23.1</version>
<version>3.0.0-beta1</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.23.1</version>
<version>3.0.0-beta1</version>
</dependency>
<!-- io -->
<dependency>
Expand All @@ -135,6 +147,33 @@
<artifactId>commons-csv</artifactId>
<version>1.10.0</version>
</dependency>
<!-- api-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>2.0.1.Final</version>
</dependency>
<dependency>
<groupId>io.swagger.core.v3</groupId>
<artifactId>swagger-annotations</artifactId>
<version>2.2.22</version>
</dependency>
</dependencies>
<repositories>
<repository>
<id>maven_central</id>
<name>Maven Central</name>
<url>https://repo.maven.apache.org/maven2/</url>
</repository>
</repositories>

</project>
13 changes: 13 additions & 0 deletions src/main/java/ch/naviqore/app/Application.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package ch.naviqore.app;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Application {

public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}

}
Loading

0 comments on commit 30e7afa

Please sign in to comment.