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
- Host: GitHub
- URL: https://github.com/wisskirchenj/traffic-lights
- Owner: wisskirchenj
- Created: 2023-05-13T08:19:17.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-04-22T17:14:18.000Z (over 1 year ago)
- Last Synced: 2025-01-06T04:12:34.393Z (10 months ago)
- Topics: awaitility, java20, timer-application
- Language: Java
- Homepage:
- Size: 92.8 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
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.