All Projects → tecnickcom → gogen

tecnickcom / gogen

Licence: MIT license
Command-line tool to generate GO applications and libraries

Programming Languages

go
31211 projects - #10 most used programming language
Makefile
30231 projects
shell
77523 projects

Projects that are alternatives of or similar to gogen

DPB
Dynamic Project Builder
Stars: ✭ 22 (+29.41%)
Mutual labels:  builder, code, project
lowcode
React Lowcode - prototype, develop and maintain internal apps easier
Stars: ✭ 32 (+88.24%)
Mutual labels:  builder, code
gsql
GSQL is a structured query language code builder for golang.
Stars: ✭ 106 (+523.53%)
Mutual labels:  builder, code
app
Aplus Framework App Project
Stars: ✭ 338 (+1888.24%)
Mutual labels:  application, project
mangium
(Needs contributors) Service/project manager for developers/small teams
Stars: ✭ 12 (-29.41%)
Mutual labels:  service, project
sphinx-markdown-builder
sphinx builder that outputs markdown files.
Stars: ✭ 135 (+694.12%)
Mutual labels:  builder, code
Zeus
An Electrifying Build System
Stars: ✭ 176 (+935.29%)
Mutual labels:  builder, project
Updated Carbanak Source With Plugins
https://twitter.com/itsreallynick/status/1120410950430089224
Stars: ✭ 303 (+1682.35%)
Mutual labels:  builder, code
iam
企业级的 Go 语言实战项目:认证和授权系统
Stars: ✭ 1,900 (+11076.47%)
Mutual labels:  application, project
phpindonesia.or.id-membership2
PHP Indonesia - Membership Application - Reloaded
Stars: ✭ 31 (+82.35%)
Mutual labels:  application, project
Appserver
A multithreaded application server for PHP, written in PHP.
Stars: ✭ 930 (+5370.59%)
Mutual labels:  application, service
Beginners C Program Examples
Simple, Short and Sweet beginners friendly C language programs
Stars: ✭ 138 (+711.76%)
Mutual labels:  code, project
Hacktoberfest-2021
This repository aims to help code beginners with their first successful pull request and open source contribution. 🥳🎯🚀
Stars: ✭ 24 (+41.18%)
Mutual labels:  code, project
SharpLoader
🔮 [C#] Source code randomizer and compiler
Stars: ✭ 36 (+111.76%)
Mutual labels:  code, project
Real Time Ml Project
A curated list of applied machine learning and data science notebooks and libraries across different industries.
Stars: ✭ 143 (+741.18%)
Mutual labels:  application, project
LockerScreen
Android lock screen,slide to unlock ! 安卓锁屏,上滑解锁,效果酷炫,值得拥有!
Stars: ✭ 81 (+376.47%)
Mutual labels:  application, service
Java Game And Application
Java Games and Application with awesome source code and better algorithm
Stars: ✭ 14 (-17.65%)
Mutual labels:  application, project
neu-ipgw
东北大学校园网网关快速登录,更高效,更实用!
Stars: ✭ 19 (+11.76%)
Mutual labels:  application, project
webApi-angularjs
⚓ Definitely simplifies your work with server side & organizes webApi layout to further managing.
Stars: ✭ 15 (-11.76%)
Mutual labels:  service
Lua-Obfuscator
Obfuscate your lua code because it's so easy to steal!
Stars: ✭ 69 (+305.88%)
Mutual labels:  code

gogen

Command-line tool to generate GO services, applications and libraries with reusable logic.


IMPORTANT: This project has been superseded by: https://github.com/tecnickcom/gosrvlib

///////////////////////////////////////////////////////////////////////////////////////////

Master Build Status Donate via PayPal Please consider supporting this project by making a donation via PayPal

Description

This is a command-line tool to quickly generate GO services, applications and libraries with a common set of features and reusable logic.

For an equivalent project in Python please check PyGen.

Each GO project built with this tool adheres to the set of conventions detailed in the following articles:

Each generated project is immediately functional and can be fully tested using the make qa command.

To understand the logic of the generated applications please start with the main.go file and follow the code.

Quick Start

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.

To see all available options:

make help

Usage

make new TYPE=app CONFIG=myproject.cfg
  • TYPE is the project type:

    • lib : Library
    • app : Command-line application
    • srv : HTTP API service
  • CONFIG is the configuration file containing the project settings.

To create a new configuration please clone the default.cfg file and change the values.

All projects are creted inside the target directory and should be moved to the correct path inside the $GOPATH/src.

Features

Services (srv)

  • Web HTTP(S) RESTful JSON API;
  • Standard command line options;
  • Multiple configuration options, including remote configuration via Consul, Etcd or Environmental variable;
  • Logging;
  • StatsD client to collect usage metrics;
  • Unit tests;
  • Makefile;
  • Docker build;
  • RPM, DEB and Docker packaging;
  • Example Proxy endpoint;
  • Backend examples in MySQL, MongoDB and ElasticSearch.

Applications (app)

  • Standard command line options;
  • Multiple configuration options, including remote configuration via Consul, Etcd or Environmental variable;
  • Logging;
  • Unit tests;
  • Makefile;
  • Docker build;
  • RPM, DEB and Docker packaging.

Libraries (lib)

  • Unit tests;
  • Makefile;
  • Docker build;
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].