Skip to content

demo applications using various interface (grpc, openapi, websocket, etc...)

Notifications You must be signed in to change notification settings

ningenMe/application-interface-sample

Repository files navigation

application-interface-sample

application port

name port type
client-react 9100 client
client-java 9101 client
server-go-grpc 9140 server
server-go-grpc-envoy 9141 server
database-mysql 9190 database

server-roadmap

language grpc connect websocket graphql openapi(rest) quic
go server-go-grpc TODO TODO TODO TODO TODO
java TODO TODO TODO TODO TODO TODO
kotlin TODO TODO TODO TODO TODO TODO
rust TODO TODO TODO TODO TODO TODO

architecture

flowchart LR
    subgraph client
        react([react])
        java([java])
    end
    subgraph server
        subgraph go-grpc-and-envoy
            go-grpc-envoy[[go-grpc-envoy]]
            go-grpc[[go-grpc]]
            go-grpc-envoy <--> go-grpc
        end
        connect-go[[connect-go: TODO]]
        websocket-go[[websocket-go: TODO]]
    end
    subgraph database
        mysql[(mysql)]
    end

    react <--> go-grpc-envoy
    java  <--> go-grpc
    react & java <--> connect-go 
    react & java <--> websocket-go

    go-grpc & connect-go & websocket-go <--> mysql
Loading

client start

docker-compose -f docker-compose-application-client.yml build --no-cache --progress plain && docker-compose -f docker-compose-application-client.yml up

server start

docker-compose -f docker-compose-application-server.yml build --no-cache --progress plain && docker-compose -f docker-compose-application-server.yml up

generate command

docker-compose -f docker-compose-generate-interface.yml build --no-cache --progress plain && docker-compose -f docker-compose-generate-interface.yml up 

env set (if you want to run application without docker)

export `cat .env | awk '{print $1}' | xargs`