Public maps · Train Ticket

Train Ticket, mapped from the code.

FudanSELab's train-booking benchmark: dozens of Spring Boot services plus Node, Python and Go, calling each other over REST by service name behind a Spring Cloud Gateway, with RabbitMQ. Kuuhaku read its source at commit 313886e, with no configuration and no hand-fixing, and found 48 services in Java, Python and JavaScript, and 140 connections: 133 over HTTP, 4 through shared databases and 3 through queues. Each one below says how it was found.

Open the live mapMap your own repos
Kuuhaku's map of Train Ticket: 48 services grouped into consumers and services, with 140 connections drawn between them

Services

Every repo or deployable the scanner found, with how many connections leave it and reach it.

ServiceStackRoleCallsCalled by
ts_gateway_serviceJava · Spring Bootservice381
ts_order_serviceJava · Spring Bootservice115
ts_preserve_serviceJava · Spring Bootworker122
ts_preserve_other_serviceJava · Spring Bootworker121
ts_travel_serviceJava · Spring Bootservice57
ts_order_other_serviceJava · Spring Bootservice110
ts_seat_serviceJava · Spring Bootservice37
ts_station_serviceJava · Spring Bootservice010
ts_travel2_serviceJava · Spring Bootservice46
ts_basic_serviceJava · Spring Bootservice45
ts_rebook_serviceJava · Spring Bootservice81
ts_route_serviceJava · Spring Bootservice18
ts_food_serviceJava · Spring Bootservice53
ts_train_serviceJava · Spring Bootservice08
ts_admin_basic_info_serviceJava · Spring Bootservice51
ts_admin_travel_serviceJava · Spring Bootservice51
ts_cancel_serviceJava · Spring Bootservice51
ts_inside_payment_serviceJava · Spring Bootservice33
ts_travel_plan_serviceJava · Spring Bootservice51
ts_user_serviceJava · Spring Bootservice15
ts_route_plan_serviceJava · Spring Bootservice32
ts_security_serviceJava · Spring Bootservice23
ts_consign_serviceJava · Spring Bootservice13
ts_contacts_serviceJava · Spring Bootservice04
ts_notification_serviceJava · Spring Bootservice04
ts_price_serviceJava · Spring Bootservice13
ts_station_food_serviceJava · Spring Bootservice13
ts_admin_order_serviceJava · Spring Bootservice21
ts_admin_route_serviceJava · Spring Bootservice21
ts_assurance_serviceJava · Spring Bootservice03
ts_auth_serviceJava · Spring Bootservice12
ts_config_serviceJava · Spring Bootservice03
ts_execute_serviceJava · Spring Bootservice21
ts_admin_user_serviceJava · Spring Bootservice11
ts_consign_price_serviceJava · Spring Bootservice02
ts_payment_serviceJava · Spring Bootservice02
ts_train_food_serviceJava · Spring Bootservice02
ts_verification_code_serviceJava · Spring Bootservice02
ts_voucher_servicePythonconsumer20
ts_wait_order_serviceJava · Spring Bootservice20
ts_avatar_servicePython · Flaskservice01
ts_delivery_serviceJava · Spring Bootworker01
ts_food_delivery_serviceJava · Spring Bootservice10
ts_ui_dashboardDockerconsumer10
json2shivizJavaservice00
ts_news_servicenot read: Docker onlyservice00
ts_ticket_office_serviceJavaScript · Expressservice00
ts_ui_testJavaservice00

Connections

config: the address is written in configuration (an env file, a compose file, a proxy route) and the call is matched to it. inferred: the call's path matches a route of the target and nothing contradicts it. Call sites count the places in the code that make the call.

FromToTypeEvidenceCall sitesHow it was found
ts_admin_basic_info_servicets_config_serviceHTTPconfig4URL worked out at src/main/java/adminbasic/service/AdminBasicInfoServiceImpl.java:228
ts_admin_basic_info_servicets_contacts_serviceHTTPconfig4URL worked out at src/main/java/adminbasic/service/AdminBasicInfoServiceImpl.java:44
ts_admin_basic_info_servicets_price_serviceHTTPconfig4URL worked out at src/main/java/adminbasic/service/AdminBasicInfoServiceImpl.java:280
ts_admin_basic_info_servicets_station_serviceHTTPconfig4URL worked out at src/main/java/adminbasic/service/AdminBasicInfoServiceImpl.java:105
ts_admin_basic_info_servicets_train_serviceHTTPconfig4URL worked out at src/main/java/adminbasic/service/AdminBasicInfoServiceImpl.java:168
ts_admin_order_servicets_order_other_serviceHTTPconfig4URL worked out at src/main/java/adminorder/service/AdminOrderServiceImpl.java:66
ts_admin_order_servicets_order_serviceHTTPconfig4URL worked out at src/main/java/adminorder/service/AdminOrderServiceImpl.java:48
ts_admin_route_servicets_route_serviceHTTPconfig3URL worked out at src/main/java/adminroute/service/AdminRouteServiceImpl.java:40
ts_admin_route_servicets_station_serviceHTTPconfig1URL worked out at src/main/java/adminroute/service/AdminRouteServiceImpl.java:103
ts_admin_travel_servicets_route_serviceHTTPconfig1URL worked out at src/main/java/admintravel/service/AdminTravelServiceImpl.java:274
ts_admin_travel_servicets_station_serviceHTTPconfig1URL worked out at src/main/java/admintravel/service/AdminTravelServiceImpl.java:233
ts_admin_travel_servicets_train_serviceHTTPconfig1URL worked out at src/main/java/admintravel/service/AdminTravelServiceImpl.java:260
ts_admin_travel_servicets_travel_serviceHTTPconfig4URL worked out at src/main/java/admintravel/service/AdminTravelServiceImpl.java:49
ts_admin_travel_servicets_travel2_serviceHTTPconfig4URL worked out at src/main/java/admintravel/service/AdminTravelServiceImpl.java:67
ts_admin_user_servicets_user_serviceHTTPconfig4URL worked out at src/main/java/adminuser/service/AdminUserServiceImpl.java:45
ts_auth_servicets_verification_code_serviceHTTPconfig1URL worked out at src/main/java/auth/service/impl/TokenServiceImpl.java:67
ts_basic_servicets_price_serviceHTTPconfig2URL worked out at src/main/java/fdse/microservice/service/BasicServiceImpl.java:446
ts_basic_servicets_route_serviceHTTPconfig2URL worked out at src/main/java/fdse/microservice/service/BasicServiceImpl.java:407
ts_basic_servicets_station_serviceHTTPconfig3URL worked out at src/main/java/fdse/microservice/service/BasicServiceImpl.java:328
ts_basic_servicets_train_serviceHTTPconfig2URL worked out at src/main/java/fdse/microservice/service/BasicServiceImpl.java:376
ts_cancel_servicets_inside_payment_serviceHTTPconfig1URL worked out at src/main/java/cancel/service/CancelServiceImpl.java:284
ts_cancel_servicets_notification_serviceHTTPconfig1URL worked out at src/main/java/cancel/service/CancelServiceImpl.java:148
ts_cancel_servicets_order_other_serviceHTTPconfig2URL worked out at src/main/java/cancel/service/CancelServiceImpl.java:269
ts_cancel_servicets_order_serviceHTTPconfig2URL worked out at src/main/java/cancel/service/CancelServiceImpl.java:245
ts_cancel_servicets_user_serviceHTTPconfig1URL worked out at src/main/java/cancel/service/CancelServiceImpl.java:299
ts_consign_servicets_consign_price_serviceHTTPconfig2URL worked out at src/main/java/consign/service/ConsignServiceImpl.java:67
ts_execute_servicets_order_other_serviceHTTPconfig2URL worked out at src/main/java/execute/serivce/ExecuteServiceImpl.java:155
ts_execute_servicets_order_serviceHTTPconfig2URL worked out at src/main/java/execute/serivce/ExecuteServiceImpl.java:141
ts_food_delivery_servicets_station_food_serviceHTTPconfig1URL worked out at src/main/java/food_delivery/service/FoodDeliveryServiceImpl.java:49
ts_food_servicets_delivery_servicequeueinferred11 queue published by ts_food_service, consumed by ts_delivery_service
ts_food_servicets_station_food_serviceHTTPconfig1URL worked out at src/main/java/foodsearch/service/FoodServiceImpl.java:286
ts_food_servicets_station_serviceHTTPconfig1STATION_SERVICE_HOST defaults to ts-station-service
ts_food_servicets_train_food_serviceHTTPconfig1URL worked out at src/main/java/foodsearch/service/FoodServiceImpl.java:229
ts_food_servicets_travel_serviceHTTPconfig1URL worked out at src/main/java/foodsearch/service/FoodServiceImpl.java:251
ts_gateway_servicets_admin_basic_info_serviceHTTPconfig1ADMIN_BASIC_INFO_SERVICE_HOST defaults to ts-admin-basic-info-service
ts_gateway_servicets_admin_order_serviceHTTPconfig1ADMIN_ORDER_SERVICE_HOST defaults to ts-admin-order-service
ts_gateway_servicets_admin_route_serviceHTTPconfig1ADMIN_ROUTE_SERVICE_HOST defaults to ts-admin-route-service
ts_gateway_servicets_admin_travel_serviceHTTPconfig1ADMIN_TRAVEL_SERVICE_HOST defaults to ts-admin-travel-service
ts_gateway_servicets_admin_user_serviceHTTPconfig1ADMIN_USER_SERVICE_HOST defaults to ts-admin-user-service
ts_gateway_servicets_assurance_serviceHTTPconfig1ASSURANCE_SERVICE_HOST defaults to ts-assurance-service
ts_gateway_servicets_auth_serviceHTTPconfig2AUTH_SERVICE_HOST defaults to ts-auth-service
ts_gateway_servicets_avatar_serviceHTTPconfig1AVATAR_SERVICE_HOST defaults to ts-avatar-service
ts_gateway_servicets_basic_serviceHTTPconfig1BASIC_SERVICE_HOST defaults to ts-basic-service
ts_gateway_servicets_cancel_serviceHTTPconfig1CANCEL_SERVICE_HOST defaults to ts-cancel-service
ts_gateway_servicets_config_serviceHTTPconfig1CONFIG_SERVICE_HOST defaults to ts-config-service
ts_gateway_servicets_consign_price_serviceHTTPconfig1CONSIGN_PRICE_SERVICE_HOST defaults to ts-consign-price-service
ts_gateway_servicets_consign_serviceHTTPconfig1CONSIGN_SERVICE_HOST defaults to ts-consign-service
ts_gateway_servicets_contacts_serviceHTTPconfig1CONTACTS_SERVICE_HOST defaults to ts-contacts-service
ts_gateway_servicets_execute_serviceHTTPconfig1EXECUTE_SERVICE_HOST defaults to ts-execute-service
ts_gateway_servicets_food_serviceHTTPconfig1FOOD_SERVICE_HOST defaults to ts-food-service
ts_gateway_servicets_inside_payment_serviceHTTPconfig1INSIDE_PAYMENT_SERVICE_HOST defaults to ts-inside-payment-service
ts_gateway_servicets_notification_serviceHTTPconfig1NOTIFICATION_SERVICE_HOST defaults to ts-notification-service
ts_gateway_servicets_order_other_serviceHTTPconfig1ORDER_OTHER_SERVICE_HOST defaults to ts-order-other-service
ts_gateway_servicets_order_serviceHTTPconfig1ORDER_SERVICE_HOST defaults to ts-order-service
ts_gateway_servicets_payment_serviceHTTPconfig1PAYMENT_SERVICE_HOST defaults to ts-payment-service
ts_gateway_servicets_preserve_other_serviceHTTPconfig1PRESERVE_OTHER_SERVICE_HOST defaults to ts-preserve-other-service
ts_gateway_servicets_preserve_serviceHTTPconfig1PRESERVE_SERVICE_HOST defaults to ts-preserve-service
ts_gateway_servicets_price_serviceHTTPconfig1PRICE_SERVICE_HOST defaults to ts-price-service
ts_gateway_servicets_rebook_serviceHTTPconfig1REBOOK_SERVICE_HOST defaults to ts-rebook-service
ts_gateway_servicets_route_plan_serviceHTTPconfig1ROUTE_PLAN_SERVICE_HOST defaults to ts-route-plan-service
ts_gateway_servicets_route_serviceHTTPconfig1ROUTE_SERVICE_HOST defaults to ts-route-service
ts_gateway_servicets_seat_serviceHTTPconfig1SEAT_SERVICE_HOST defaults to ts-seat-service
ts_gateway_servicets_security_serviceHTTPconfig1SECURITY_SERVICE_HOST defaults to ts-security-service
ts_gateway_servicets_station_food_serviceHTTPconfig1STATION_FOOD_SERVICE_HOST defaults to ts-station-food-service
ts_gateway_servicets_station_serviceHTTPconfig1STATION_SERVICE_HOST defaults to ts-station-service
ts_gateway_servicets_train_food_serviceHTTPconfig1TRAIN_FOOD_SERVICE_HOST defaults to ts-train-food-service
ts_gateway_servicets_train_serviceHTTPconfig1TRAIN_SERVICE_HOST defaults to ts-train-service
ts_gateway_servicets_travel_plan_serviceHTTPconfig1TRAVEL_PLAN_SERVICE_HOST defaults to ts-travel-plan-service
ts_gateway_servicets_travel_serviceHTTPconfig1TRAVEL_SERVICE_HOST defaults to ts-travel-service
ts_gateway_servicets_travel2_serviceHTTPconfig1TRAVEL2_SERVICE_HOST defaults to ts-travel2-service
ts_gateway_servicets_user_serviceHTTPconfig1USER_SERVICE_HOST defaults to ts-user-service
ts_gateway_servicets_verification_code_serviceHTTPconfig1VERIFICATION_CODE_SERVICE_HOST defaults to ts-verification-code-service
ts_inside_payment_servicets_order_other_serviceHTTPconfig2URL worked out at src/main/java/inside_payment/service/InsidePaymentServiceImpl.java:59
ts_inside_payment_servicets_order_serviceHTTPconfig2URL worked out at src/main/java/inside_payment/service/InsidePaymentServiceImpl.java:59
ts_inside_payment_servicets_payment_serviceHTTPconfig2URL worked out at src/main/java/inside_payment/service/InsidePaymentServiceImpl.java:110
ts_order_other_servicets_station_serviceHTTPconfig1URL worked out at src/main/java/other/service/OrderOtherServiceImpl.java:227
ts_order_servicets_station_serviceHTTPconfig1URL worked out at src/main/java/order/service/OrderServiceImpl.java:212
ts_preserve_other_servicets_assurance_serviceHTTPconfig1URL worked out at src/main/java/preserveOther/service/PreserveOtherServiceImpl.java:321
ts_preserve_other_servicets_basic_serviceHTTPconfig1URL worked out at src/main/java/preserveOther/service/PreserveOtherServiceImpl.java:132
ts_preserve_other_servicets_consign_serviceHTTPconfig1URL worked out at src/main/java/preserveOther/service/PreserveOtherServiceImpl.java:427
ts_preserve_other_servicets_contacts_serviceHTTPconfig1URL worked out at src/main/java/preserveOther/service/PreserveOtherServiceImpl.java:382
ts_preserve_other_servicets_food_serviceHTTPconfig1URL worked out at src/main/java/preserveOther/service/PreserveOtherServiceImpl.java:413
ts_preserve_other_servicets_notification_servicequeueinferred11 queue published by ts_preserve_other_service, consumed by ts_notification_service
ts_preserve_other_servicets_order_other_serviceHTTPconfig1URL worked out at src/main/java/preserveOther/service/PreserveOtherServiceImpl.java:397
ts_preserve_other_servicets_seat_serviceHTTPconfig1URL worked out at src/main/java/preserveOther/service/PreserveOtherServiceImpl.java:277
ts_preserve_other_servicets_security_serviceHTTPconfig1URL worked out at src/main/java/preserveOther/service/PreserveOtherServiceImpl.java:352
ts_preserve_other_servicets_station_serviceHTTPconfig1URL worked out at src/main/java/preserveOther/service/PreserveOtherServiceImpl.java:338
ts_preserve_other_servicets_travel2_serviceHTTPconfig1URL worked out at src/main/java/preserveOther/service/PreserveOtherServiceImpl.java:367
ts_preserve_other_servicets_user_serviceHTTPconfig1URL worked out at src/main/java/preserveOther/service/PreserveOtherServiceImpl.java:305
ts_preserve_servicets_assurance_serviceHTTPconfig1URL worked out at src/main/java/preserve/service/PreserveServiceImpl.java:320
ts_preserve_servicets_basic_serviceHTTPconfig1URL worked out at src/main/java/preserve/service/PreserveServiceImpl.java:129
ts_preserve_servicets_consign_serviceHTTPconfig1URL worked out at src/main/java/preserve/service/PreserveServiceImpl.java:425
ts_preserve_servicets_contacts_serviceHTTPconfig1URL worked out at src/main/java/preserve/service/PreserveServiceImpl.java:381
ts_preserve_servicets_food_serviceHTTPconfig1URL worked out at src/main/java/preserve/service/PreserveServiceImpl.java:411
ts_preserve_servicets_notification_servicequeueinferred11 queue published by ts_preserve_service, consumed by ts_notification_service
ts_preserve_servicets_order_serviceHTTPconfig1URL worked out at src/main/java/preserve/service/PreserveServiceImpl.java:396
ts_preserve_servicets_seat_serviceHTTPconfig1URL worked out at src/main/java/preserve/service/PreserveServiceImpl.java:278
ts_preserve_servicets_security_serviceHTTPconfig1URL worked out at src/main/java/preserve/service/PreserveServiceImpl.java:350
ts_preserve_servicets_station_serviceHTTPconfig1URL worked out at src/main/java/preserve/service/PreserveServiceImpl.java:335
ts_preserve_servicets_travel_serviceHTTPconfig1URL worked out at src/main/java/preserve/service/PreserveServiceImpl.java:365
ts_preserve_servicets_user_serviceHTTPconfig1URL worked out at src/main/java/preserve/service/PreserveServiceImpl.java:306
ts_price_servicets_order_serviceshared databaseconfig—SPRING_DATASOURCE_URL in ts_price_service and SPRING_DATASOURCE_URL in ts_order_service name the same MySQL 10.176.122.1/ts
ts_rebook_servicets_inside_payment_serviceHTTPconfig2URL worked out at src/main/java/rebook/service/RebookServiceImpl.java:445
ts_rebook_servicets_order_other_serviceHTTPconfig4URL worked out at src/main/java/rebook/service/RebookServiceImpl.java:332
ts_rebook_servicets_order_serviceHTTPconfig4URL worked out at src/main/java/rebook/service/RebookServiceImpl.java:332
ts_rebook_servicets_route_serviceHTTPconfig1URL worked out at src/main/java/rebook/service/RebookServiceImpl.java:420
ts_rebook_servicets_seat_serviceHTTPconfig1URL worked out at src/main/java/rebook/service/RebookServiceImpl.java:251
ts_rebook_servicets_train_serviceHTTPconfig1URL worked out at src/main/java/rebook/service/RebookServiceImpl.java:407
ts_rebook_servicets_travel_serviceHTTPconfig1URL worked out at src/main/java/rebook/service/RebookServiceImpl.java:309
ts_rebook_servicets_travel2_serviceHTTPconfig1URL worked out at src/main/java/rebook/service/RebookServiceImpl.java:309
ts_route_plan_servicets_route_serviceHTTPconfig2URL worked out at src/main/java/plan/service/RoutePlanServiceImpl.java:169
ts_route_plan_servicets_travel_serviceHTTPconfig4URL worked out at src/main/java/plan/service/RoutePlanServiceImpl.java:205
ts_route_plan_servicets_travel2_serviceHTTPconfig4URL worked out at src/main/java/plan/service/RoutePlanServiceImpl.java:215
ts_route_servicets_order_serviceshared databaseconfig—SPRING_DATASOURCE_URL in ts_route_service and SPRING_DATASOURCE_URL in ts_order_service name the same MySQL 10.176.122.1/ts
ts_seat_servicets_config_serviceHTTPconfig1URL worked out at src/main/java/seat/service/SeatServiceImpl.java:210
ts_seat_servicets_order_other_serviceHTTPconfig2URL worked out at src/main/java/seat/service/SeatServiceImpl.java:73
ts_seat_servicets_order_serviceHTTPconfig2URL worked out at src/main/java/seat/service/SeatServiceImpl.java:60
ts_security_servicets_order_other_serviceHTTPconfig1URL worked out at src/main/java/security/service/SecurityServiceImpl.java:148
ts_security_servicets_order_serviceHTTPconfig1URL worked out at src/main/java/security/service/SecurityServiceImpl.java:133
ts_station_food_servicets_order_serviceshared databaseconfig—SPRING_DATASOURCE_URL in ts_station_food_service and SPRING_DATASOURCE_URL in ts_order_service name the same MySQL 10.176.122.1/ts
ts_travel_plan_servicets_route_plan_serviceHTTPconfig3URL worked out at src/main/java/travelplan/service/TravelPlanServiceImpl.java:257
ts_travel_plan_servicets_seat_serviceHTTPconfig1URL worked out at src/main/java/travelplan/service/TravelPlanServiceImpl.java:244
ts_travel_plan_servicets_train_serviceHTTPconfig1URL worked out at src/main/java/travelplan/service/TravelPlanServiceImpl.java:320
ts_travel_plan_servicets_travel_serviceHTTPconfig1URL worked out at src/main/java/travelplan/service/TravelPlanServiceImpl.java:294
ts_travel_plan_servicets_travel2_serviceHTTPconfig1URL worked out at src/main/java/travelplan/service/TravelPlanServiceImpl.java:307
ts_travel_servicets_basic_serviceHTTPconfig2URL worked out at src/main/java/travel/service/TravelServiceImpl.java:347
ts_travel_servicets_order_serviceHTTPconfig1ORDER_SERVICE_HOST defaults to ts-order-service
ts_travel_servicets_route_serviceHTTPconfig1URL worked out at src/main/java/travel/service/TravelServiceImpl.java:521
ts_travel_servicets_seat_serviceHTTPconfig1URL worked out at src/main/java/travel/service/TravelServiceImpl.java:552
ts_travel_servicets_train_serviceHTTPconfig1URL worked out at src/main/java/travel/service/TravelServiceImpl.java:507
ts_travel2_servicets_basic_serviceHTTPconfig2URL worked out at src/main/java/travel2/service/TravelServiceImpl.java:264
ts_travel2_servicets_route_serviceHTTPconfig1URL worked out at src/main/java/travel2/service/TravelServiceImpl.java:432
ts_travel2_servicets_seat_serviceHTTPconfig1URL worked out at src/main/java/travel2/service/TravelServiceImpl.java:463
ts_travel2_servicets_train_serviceHTTPconfig1URL worked out at src/main/java/travel2/service/TravelServiceImpl.java:418
ts_ui_dashboardts_gateway_serviceHTTPconfig57URL worked out at static/assets/js/adminlogin.js:9, through the /api/v1/ location in nginx.conf
ts_user_servicets_auth_serviceHTTPconfig2URL worked out at src/main/java/user/service/impl/UserServiceImpl.java:94
ts_voucher_servicets_order_other_serviceHTTPconfig1URL worked out at server.py:64
ts_voucher_servicets_order_serviceHTTPconfig1URL worked out at server.py:64
ts_wait_order_servicets_order_serviceshared databaseconfig—SPRING_DATASOURCE_URL in ts_wait_order_service and SPRING_DATASOURCE_URL in ts_order_service name the same MySQL 10.176.122.1/ts
ts_wait_order_servicets_preserve_serviceHTTPconfig1URL worked out at src/main/java/waitorder/utils/PollThread.java:54, sent by doPreserve in src/main/java/waitorder/utils/PollThread.java:75

Left for a person

58 items the scanner would not settle on its own and put in the review inbox instead of guessing, for example:

Other systems

Your own system

Run npx kuuhaku scan . in a folder of repos: it reads the code on your machine and only the graph leaves it. Or connect GitHub or Bitbucket and let the hosted runner scan with a read-only key. The map, a page per repo, a review inbox and a check on every pull request follow. Start free.