Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/snivilised/arcadia-lib-legacy

🦓 Go template for library modules
https://github.com/snivilised/arcadia-lib-legacy

go go-lib go-library golang

Last synced: 11 days ago
JSON representation

🦓 Go template for library modules

Awesome Lists containing this project

README

        

# 🦓 arcadia-lib: ___Go template for library modules___

[![A B](https://img.shields.io/badge/branching-commonflow-informational?style=flat)](https://commonflow.org)
[![A B](https://img.shields.io/badge/merge-rebase-informational?style=flat)](https://git-scm.com/book/en/v2/Git-Branching-Rebasing)
[![Go Reference](https://pkg.go.dev/badge/github.com/snivilised/arcadia-lib.svg)](https://pkg.go.dev/github.com/snivilised/arcadia-lib)
[![Go report](https://goreportcard.com/badge/github.com/snivilised/arcadia-lib)](https://goreportcard.com/report/github.com/snivilised/arcadia-lib)
[![Coverage Status](https://coveralls.io/repos/github/snivilised/arcadia-lib/badge.svg?branch=master)](https://coveralls.io/github/snivilised/arcadia-lib?branch=master&kill_cache=1)



## 🔰 Introduction

This project is a template to aid in the startup of Go library modules.

## 🔨 Usage

## 🎀 Features




+ unit testing with [Ginkgo](https://onsi.github.io/ginkgo/)/[Gomega](https://onsi.github.io/gomega/)
+ i18n with [go-i18n](https://github.com/nicksnyder/go-i18n)

## 🧰 Developer Info

### 📝 Checklist of required changes

The following is list of actions that must be performed before using this template. Most of the changes concern changing the name `Arcadia` to the name of the new application.

As the template is instantiated from github, the new name will automatically replace the top level directory name, that being ___arcadia___.

+ `github actions workflow`: If the client application needs to use github actions for continuous integration, then the name of the [workflow](.github/workflows/ci-workflow.yml) needs to be changed. If not, then the workflow file should be deleted
+ `code coverage publication`: by default, coverage is published to [coveralls.io](https://coveralls.io), so coveralls needs to be setup to prevent the github actions workflow from failing. Alternatively, another service can be used. The user needs to adjust the __Send coverage__ job in the workflow accordingly.
+ `replace README content`
+ `rename lib folder` to something domain specific
+ `create .env file`: Add any appropriate secrets to a newly created .env in the root directory
+ `update message id`: This package supports i18n and as part of that defines messages that need to be translated. The user needs to update the message ids of defined messages in `messages.go`, which by default contain ___arcadia-lib___ as part of the id.
+ `default language`: The user can change to whatever language is suitable. The default is British English, with American English being supported out of the box.