/tds

Train Dispatch System to manage train departures. Exam project for IDATG1003.

Primary LanguageJavaApache License 2.0Apache-2.0

Train Dispatch System πŸš‚

Java shield Maven shield Spring boot shield IDE

Project description πŸ“

Train Dispatch System is a Java application made to manage train departures. The application is made with Spring Boot and Maven, and uses Derby as a database. The user-interface is made with Spring Shell. Exam project for the course IDATG1003 at NTNU GjΓΈvik.

The project is finished and archived.

How to run the project πŸš€

  1. Clone the repository with:
git clone git@github.com:erikbjo/tds.git
  1. Run the program with:
./mvnw clean spring-boot:run

or

  1. Download the jar file from git releases
  2. Run the program with:
java -jar tds-3.jar

How to run the tests πŸ§ͺ

  1. Clone the repository
  2. Run the tests with:
./mvnw clean test

How to use the program πŸ–₯

When the program is running, you can use the following command to get help:

help

Contact πŸ“§

If you have any questions, you can contact me here

Project structure πŸ“

root
β”œβ”€β”€ src
β”‚   β”œβ”€β”€ main
β”‚   β”‚   β”œβ”€β”€ java
β”‚   β”‚   β”‚   └── no
β”‚   β”‚   β”‚       └── ntnu
β”‚   β”‚   β”‚           └── erbj
β”‚   β”‚   β”‚               └── tds
β”‚   β”‚   β”‚                   β”œβ”€β”€ dao
β”‚   β”‚   β”‚                   β”‚   β”œβ”€β”€Dao.java
β”‚   β”‚   β”‚                   β”‚   β”œβ”€β”€DepartureDao.java
β”‚   β”‚   β”‚                   β”‚   β”œβ”€β”€StationDao.java
β”‚   β”‚   β”‚                   β”‚   β”œβ”€β”€TrainDao.java
β”‚   β”‚   β”‚                   β”‚   └──WagonDao.java
β”‚   β”‚   β”‚                   β”‚
β”‚   β”‚   β”‚                   β”œβ”€β”€ model
β”‚   β”‚   β”‚                   β”‚   β”œβ”€β”€ departures
β”‚   β”‚   β”‚                   β”‚   β”‚   β”œβ”€β”€ Departure.java
β”‚   β”‚   β”‚                   β”‚   β”‚   └── DepartureBuilder.java
β”‚   β”‚   β”‚                   β”‚   β”‚
β”‚   β”‚   β”‚                   β”‚   β”œβ”€β”€ Station.java
β”‚   β”‚   β”‚                   β”‚   β”œβ”€β”€ Train.java
β”‚   β”‚   β”‚                   β”‚   β”œβ”€β”€ Wagon.java
β”‚   β”‚   β”‚                   β”‚   └── WagonType.java
β”‚   β”‚   β”‚                   β”‚
β”‚   β”‚   β”‚                   β”œβ”€β”€ shared
β”‚   β”‚   β”‚                   β”‚   └── utilites
β”‚   β”‚   β”‚                   β”‚       β”œβ”€β”€ StringValidator.java
β”‚   β”‚   β”‚                   β”‚       └── TimeParser.java
β”‚   β”‚   β”‚                   β”‚
β”‚   β”‚   β”‚                   β”œβ”€β”€ ui
β”‚   β”‚   β”‚                   β”‚   β”œβ”€β”€ commands
β”‚   β”‚   β”‚                   β”‚   β”‚   β”œβ”€β”€ CreateCommands.java
β”‚   β”‚   β”‚                   β”‚   β”‚   β”œβ”€β”€ DepartureCommands.java
β”‚   β”‚   β”‚                   β”‚   β”‚   β”œβ”€β”€ HelperCommands.java
β”‚   β”‚   β”‚                   β”‚   β”‚   β”œβ”€β”€ TimeCommands.java
β”‚   β”‚   β”‚                   β”‚   β”‚   β”œβ”€β”€ TrainCommands.java
β”‚   β”‚   β”‚                   β”‚   β”‚   └── WagonCommands.java
β”‚   β”‚   β”‚                   β”‚   β”‚
β”‚   β”‚   β”‚                   β”‚   β”œβ”€β”€ controllers
β”‚   β”‚   β”‚                   β”‚   β”‚   └── TimeController.java
β”‚   β”‚   β”‚                   β”‚   β”‚
β”‚   β”‚   β”‚                   β”‚   └── utilites
β”‚   β”‚   β”‚                   β”‚       β”œβ”€β”€ AnsiColors.java
β”‚   β”‚   β”‚                   β”‚       β”œβ”€β”€ Colorize.java
β”‚   β”‚   β”‚                   β”‚       β”œβ”€β”€ Printer.java
β”‚   β”‚   β”‚                   β”‚       β”œβ”€β”€ SortUtility.java
β”‚   β”‚   β”‚                   β”‚       β”œβ”€β”€ TablePrinter.java
β”‚   β”‚   β”‚                   β”‚       └── TdsLogger.java
β”‚   β”‚   β”‚                   β”‚
β”‚   β”‚   β”‚                   └── TdsApplication.java (main class)
β”‚   β”‚   └── resources
β”‚   β”‚       β”œβ”€β”€ logback.xml
β”‚   β”‚       └── application.properties
β”‚   β”‚
β”‚   └── test
β”‚       └── java
β”‚           └── no
β”‚               └── ntnu
β”‚                   └── erbj   
β”‚                       └── tds
β”‚                           └── model
β”‚                               β”œβ”€β”€ DepartureBuilderTest.java
β”‚                               β”œβ”€β”€ DepartureTest.java
β”‚                               β”œβ”€β”€ StationTest.java
β”‚                               β”œβ”€β”€ TrainTest.java
β”‚                               └── WagonTest.java
β”œβ”€β”€ .gitignore
β”œβ”€β”€ LICENSE
β”œβ”€β”€ mvnw
β”œβ”€β”€ mvnw.cmd
β”œβ”€β”€ pom.xml
└── README.md

Troubleshooting πŸ› 

If you get any persistence errors, try to delete the tdsDB directory and run the program again.