https://github.com/ningenme/application-interface-sample
demo applications using various interface (grpc, openapi, websocket, etc...)
https://github.com/ningenme/application-interface-sample
docker envoy go grpc java nextjs protobuf react
Last synced: 10 months ago
JSON representation
demo applications using various interface (grpc, openapi, websocket, etc...)
- Host: GitHub
- URL: https://github.com/ningenme/application-interface-sample
- Owner: ningenMe
- Created: 2022-10-03T20:15:59.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-09-23T19:38:50.000Z (over 2 years ago)
- Last Synced: 2025-02-23T00:56:03.282Z (about 1 year ago)
- Topics: docker, envoy, go, grpc, java, nextjs, protobuf, react
- Language: Java
- Homepage:
- Size: 229 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# application-interface-sample
### application port
| name | port | type |
|-------------- |----- | ---- |
|[client-react](./client-react) | 9100 | client |
|[client-java](./client-java) | 9101 | client |
|[server-go-grpc](./server-go-grpc) | 9140 | server |
|[server-go-grpc-envoy](./server-go-grpc-envoy)| 9141 | server |
|[database-mysql](./database-mysql) | 9190 | database |
### server-roadmap
| language | grpc | connect | websocket | graphql | openapi(rest) | quic |
|-- | --- | ---- | -- | -- | -- | -- |
| go | [server-go-grpc](./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
```mermaid
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
```
### client start
```shell
docker-compose -f docker-compose-application-client.yml build --no-cache --progress plain && docker-compose -f docker-compose-application-client.yml up
```
### server start
```shell
docker-compose -f docker-compose-application-server.yml build --no-cache --progress plain && docker-compose -f docker-compose-application-server.yml up
```
### generate command
```shell
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)
```shell
export `cat .env | awk '{print $1}' | xargs`
```