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/
- category Library
- license MIT
- link https://github.com/Vonage/gosrvlib
To quickly get started with this project, follow these steps:
- Ensure you have installed the latest Go version and Python3 for some extra tests.
- Clone the repository:
git clone https://github.com/Vonage/gosrvlib.git
. - Change into the project directory:
cd gosrvlib
. - 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
Before committing the code, please format it and check if it passes all tests using
DEVMODE=LOCAL make x
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