Skip to content

Production grade microservice written in Go using the standard library

License

Notifications You must be signed in to change notification settings

aftab-hussain-93/Go-Microservice-Template

Repository files navigation

crypto-price-finder-microservice

A production ready microservice that can be used to fetch the price of a particular crypto currency. Comes baked with unit tests, EFK, prometheus support, e2e tests and a robust CI-CD pipeline using Github Actions.

setup

todo

  • Support input and output coin
  • Setup graceful shutdown, add time outs for http server, go through the http server struct for more features
  • Add e2e tests with new environment, create dummy coin provider server
  • Add config for debug mode, coin base URL, coin base credentials, redis URL, app environment
  • Use luna client for http requests
  • Use HTTP request coalescing in Luna client
  • Use kafka for logging
  • Implement Open API spec
  • Implement GRPC
  • Add persistance for rate limiting based on incoming IP address, logged in user data etc.
  • deploy on docker and run it behind nginx
  • setup response headers such as cors in reverse proxy
  • push reverse proxy logs to kibana

completed

  • custom error handler
  • Add timeout middleware, panic recovery middleware, authentication middleware, rate limiting middleware based on IP address
  • Add centralized logger

About

Production grade microservice written in Go using the standard library

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published