Skip to content

This project allows developers to build services for exporting REST APIs. It makes it easy to connect to databases, cache, Kafka, S3, elasticsearch and authentication. Keep building !

Notifications You must be signed in to change notification settings

ngMinhDan/go-base-service

Repository files navigation

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

About

This project allows developers to build services for exporting REST APIs. It makes it easy to connect to databases, cache, Kafka, S3, elasticsearch and authentication. Keep building !

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages