Skip to content

Latest commit

 

History

History
41 lines (36 loc) · 2.01 KB

Readme.md

File metadata and controls

41 lines (36 loc) · 2.01 KB

Welcome to Go-Base-Service

A fast codebase for building a service to serve HTTP requests. Built with love by me and the previous team. In the base-service, we have developed the following features, with ongoing features in the pipeline:

  • Support for working with configurations (Dev, Production, Default Values)
  • Support for managing logs (Format, Output, Level)
  • Support for database operations (RDBMS, NoSQL)
  • Support for Authentication with JWT (Sample Payload, Create, GetClaims)
  • Support for working with Kafka (Schema, Broker, Consumer)
  • Support for Redis operations (Connect, Get, Set, Invalidate)
  • Support for AWS S3 operations (Connect, Get, Upload)
  • Support for Elasticsearch (Connect, Insert, Search)
  • Support for middleware (Rate Limit, Blocking)
  • Easy integration with HTTP request handling (Status, Response, graceful shutdown)
  • Support for GRPC
  • Support for Websocket
  • Support for Ethereum

Demo of a Basic System

  • Support standard authentication functions (Sign In, Sign Up, Change Password, Get Profile)
  • Support admin functions: Get all users, Block IP, Upgrade role, Rate Limit
  • Support sending messages to Kafka brokers and consuming these messages,then inserting them into Elasticsearch
  • Support full-text search using Elasticsearch's API You can import this API collection into Postman as a JSON file using this postman.json file

Image

How to Run

To install database, redis, kafka, elasticsearch. I defined in docker-compose.yml. You need run to start app

docker-compose up --build -d

Then we run go app with Makefile

make run

Prerequisites

  • Go version 1.18

Contributing or Maintaining

This project may have several issues, although I'm not aware of them at the moment. You can contribute to the go-base-service project by submitting documentation issues and pull requests to the repository.

Thanks for visting me