gilliswerrebrouck / ugent_railway-system-architecture Goto Github PK
View Code? Open in Web Editor NEWA scalable / reliable / flexible / failproof microservice architecture for a railway application.
License: MIT License
A scalable / reliable / flexible / failproof microservice architecture for a railway application.
License: MIT License
Only base functionality also know as the specific reason why it exists. No implementation of events or commands offered to other services yet.
Exposed by: API Gateway
Consumed by: Train Service
ALSO: train service --> command notify_accident --> maintenance service
Exposed by: Timetable Service
Consumed by: API Gateway
Only base functionality also know as the specific reason why it exists. No implementation of events or commands offered to other services yet.
Exposed by: Maintenance Service
Consumed by: Train Service
Only base functionality also know as the specific reason why it exists. No implementation of events or commands offered to other services yet.
Only base functionality also know as the specific reason why it exists. No implementation of events or commands offered to other services yet.
Setup database docker container
Exposed by: Timetable Service
Consumed by: Station Service
Setup database docker container
Setup database docker container
Exposed by: Timetable Service
Consumed by: API Gateway
Setup database docker container
Only base functionality also know as the specific reason why it exists. No implementation of events or commands offered to other services yet.
Only base functionality also know as the specific reason why it exists. No implementation of events or commands offered to other services yet.
Only base functionality also know as the specific reason why it exists. No implementation of events or commands offered to other services yet.
Neo4j setup: https://neo4j.com/download-neo4j-now/
Exposed by: Route Management Service
Consumed by: API Gateway
Exposed by: Station Service
Consumed by: Delay Service, Maintenance Service
Exposed by: Train Service
Consumed by: Timetable Service
Exposed by: API Gateway
Consumed by: Maintenance Service
Only base functionality also know as the specific reason why it exists. No implementation of events or commands offered to other services yet.
Exposed by: Timetable Service
Consumed by: Ticket Sale Service
Setup database docker container
Exposed by: Train Service
Consumed by: Maintenance Service
NOTE: you can strikethrough text in markup by doing the following: ~~ text ~~ --> text
TODO:
Add train (form with some fields and a submit button) [ELISE]
Request maintenance for a train [ELISE]
Notify accident for a train [ELISE]
Get schedule for a train (click on train id in table and go to new page; /train/) [ELISE]
Add station [TIM]
Get schedule for a station (click on station id in table and go to new page; /station/) [ALEXANDER]
Add staff [ALEXANDER]
Get schedule for a staff member (click on staff id in table and go to new page; /staff/) [ALEXANDER]
Get maintenance schedule (all maintenances for all trains / including type accident) [ALEXANDER]
Set train active/non-active by using train id [TIM]
Notify infra damage [TIM]
Notify delay (maybe a new page) [TIM]
Buy a single/group ticket (simple form, also get stations for dropdown box to select start and end station, for group tickets you can get timetable items in some way to choose or just a field where you enter a timetable id) [JEREMIE]
Get all tickets (in a table like other pages) [JEREMIE]
Validate ticket by using the validation code [JEREMIE]
Get routes (table) [GILLIS]
Add route [GILLIS]
Create station connection [GILLIS]
Update railnetwork (infrabel) [GILLIS]
Add timetable item [GILLIS]
Exposed by: Timetable Service
Consumed by: Delay Service
Exposed by: Ticket Validation Service
Consumed by: API Gateway
Microservices:
Zookeeper is necessary for Kafka to work.
Exposed by: Staff Service
Consumed by: Timetable Service, Maintenance Service
Setup database docker container
Exposed by: Train Service
Consumed by: Timetable Service
Exposed by: Station Service
Consumed by: Timetable Service
Exposed by: Route Management Service
Consumed by: Timetable Service, Delay Service
Exposed by: API Gateway
Consumed by: Ticket Sale Service
Create docker files for every service and combine the setup through the use of docker compose.
Exposed by: Ticket Sale Service
Consumed by: API Gateway
Exposed by: Timetable Service
Consumed by: Train Service
Exposed by: Timetable Service
Consumed by: Route Management Service
Exposed by: Route Management Service
Consumed by: Station Service
Setup database docker container
Exposed by: Route Management Service
Consumed by: Ticket Sale Service
Only base functionality also know as the specific reason why it exists. No implementation of events or commands offered to other services yet.
Only base functionality also know as the specific reason why it exists. No implementation of events or commands offered to other services yet.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.