Dota 2 API built using GraphQL, gRPC and HTTP2
- Create a
logsfolder where you run the API to store the logs - Generate a cert and key file(mkcert recommended) to use TLS
- Obtain an API Key from OpenDota if you want higher rate limit for using Dota2 API. Add to
config.json - Run the
scripts/favourites.sqlfile to generate the required database and tables - Add your database credentials to the
config.json
- The
mainpackage runs both gRPC and graphQL API simaltaneously when run. You can add required flags to start just one of the API.-grpcand-graphare the command line flags
- Provide the
certificateandkeylocation in the config file - Build using
go build main/main.go -o {{filename}}
- GraphQL exposes a playground that you can directly use
- For testing gRPC, you can use BloomRPC
- You can use the gRPC Command Line Client by going to
client/grpc-client/main. Build normally. - To use specific service, you can pass the number as command line argument followed by any parameter as required.
- Logs are stored at
log/clientlog.log - Need to pass the location of
cert.pemfile of server to client to use TLS.
- Add extensive Logging
- Add GUI Client using Svelte
- Dockerize the services using Docker Compose (MySQL,gRPC, Graph, Svelte)