Skip to content

tecnickcom/gosrvlib

 
 

Repository files navigation

gosrvlib

Go Service Library

This Open Source project contains a collection of high-quality GO (golang) packages.

Each package follows common conventions and they can be individually imported in any project.

This package collection forms the base structure for fully-fledged production-ready web-services.

A new Web service can be generated by using the command make project CONFIG=project.cfg. The new generated project name, description, etc..., can be set in the file specified via the CONFIG parameter.

The packages documentation is available at: https://pkg.go.dev/github.com/Vonage/gosrvlib/

Go Reference
check Coverage Status Coverage Lines of Code
Go Report Card Quality Gate Status Reliability Rating Maintainability Rating Security Rating
Bugs Vulnerabilities Technical Debt Code Smells


TOC


Developers' Quick Start

To quickly get started with this project, follow these steps:

  1. Ensure you have installed the latest Go version and Python3 for some extra tests.
  2. Clone the repository: git clone https://github.com/Vonage/gosrvlib.git.
  3. Change into the project directory: cd gosrvlib.
  4. Install the required dependencies and test everything: DEVMODE=LOCAL make x.

Now you are ready to start developing with gosrvlib!

This project includes a Makefile that allows you to test and build the project in a Linux-compatible system with simple commands.
All the artifacts and reports produced using this Makefile are stored in the target folder.

Alternatively, everything can be built inside a Docker container using the command make dbuild that uses the environment defined at resources/docker/Dockerfile.dev.

To see all available options:

make help

Running all tests

Before committing the code, please format it and check if it passes all tests using

DEVMODE=LOCAL make x

Examples

Please check the examples/service folder for an example of a service based on this library.

The following command generates a new project from the example using the data set in the project.cfg file:

make project CONFIG=project.cfg

About

Go library to provide base service components

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 98.6%
  • Other 1.4%