Journey Manager - manage your journeys.
This project serves as show case project for the following points
-
education
-
evaluation of architecture concepts
-
verify the efficiency of documentation as code
-
showcasing multiple concepts and technologies
tbd
-
Requirements
Requirement | Description | Status |
---|---|---|
Manage journeys |
Manages the journeys for a given user |
WIP |
Integrate multiple route calculation provider |
Use a abstract route calculation layer and integrate multiple route provider like: HERE, Google, DB. |
WIP |
Enhance journey with routes |
Expand an existing journey with additional information representing a route between two points from the current journey. A journey could contains multiple (alternatives) routes |
Open |
See the ArchiMate project.
-
Technical constraints
ID | Constraint | Description |
---|---|---|
T01 |
Implementation in Java |
Base technology is Java 8 with corresponding frameworks |
T02 |
Avoid vendor lock |
Avoid a specific vendor lock with to deep integration of frameworks. If necessary use dependency inversion or similar. |
T03 |
Resiliency of connections to backend systems |
The connection to consuming (backend) systems should be resilient using the following concepts: timeout, bulkhead pattern, Circuit Breaker (Anti corruption layers) |
-
General constraints
ID | Constraint | Description |
---|---|---|
G01 |
Architecture documentation |
Use "documentation as code" as far as possible |
G02 |
-
List of tech stack components
Name | Description | Integrated? |
---|---|---|
Spring Boot |
Spring Boot |
YES |
Swagger |
For REST documentation |
YES |
GraphQL |
Provide a flexible mechanism to storage and retrieve different set of data |
Open |
Docker |
Open |