Skip to content

Vonage/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 can be individually imported into 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 newly generated project's name, description, etc., can be set in the file specified via the CONFIG parameter.

The package 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. Make sure you have installed the latest version of Go and Python3 for additional tests.
  2. Clone the repository: git clone https://github.com/Vonage/gosrvlib.git.
  3. Change to 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 easily test and build the project on a Linux-compatible system using simple commands. All the artifacts and reports generated using this Makefile are stored in the target folder.

Alternatively, you can build everything inside a Docker container using the command make dbuild, which utilizes the environment defined in 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