An open API service indexing awesome lists of open source software.

https://github.com/wisskirchenj/traffic-lights

Traffic lights simulation app in Java
https://github.com/wisskirchenj/traffic-lights

awaitility java20 timer-application

Last synced: 8 months ago
JSON representation

Traffic lights simulation app in Java

Awesome Lists containing this project

README

          

# IDEA EDU Course

Implemented in the Java Desktop Application Developer Track of hyperskill.org JetBrain Academy.

Project goal is to beta test this new Jetbrains project and give feedback to the authors.

## Technology / External Libraries

- Java 20
- Lombok
- Slf4j
- Tests with Junit-Jupiter and Mockito
- Awaitility
- Gradle 8.1.1

## Program description

The application will provide a simplified version of a traffic lights system for a road junction in which many roads
converge to one.

## Project completion

Project was completed on 14.05.23.

## Repository Contents

Sources for all project tasks (6 stages) with tests and configurations.

## Progress

13.05.23 Project started. Setup of build and repo with gradle on Kotlin basis.

13.05.23 Stage 1 completed. Just print outs.

13.05.23 Stage 2 completed. A simple integer value menu and introduced a model class for traffic lights.

13.05.23 Stage 3 completed. Input validation with regex and invalidAction-Runnable on Integer-queries.
Console clearing via OS-ProcessBuilder.

13.05.23 Stage 4 completed. Added SystemTimer on basis of java.util.Timer. Used Awaitility-library for timing
unit tests

13.05.23 Stage 5 completed. Circular queue for the roads implemented with ArrayDeque and added to TrafficLights.
SystemTimer outputs roads in its state display.

14.05.23 Final Stage 6 completed. Road-dependent interval count-downs. Complicated timer logic implemented
in TrafficLights using inner Road class. Extensive unit tests.