GithubHelp home page GithubHelp logo

inadarei / justgo Goto Github PK

View Code? Open in Web Editor NEW
28.0 5.0 5.0 14.17 MB

Skeleton for jump-starting a Go-powered microservice project with Docker and Go best-practices + easy code hot-reloading (for dev environments)!

Home Page: http://www.justgo.rocks

License: MIT License

Go 92.25% Shell 7.75%
golang go docker microservices apis scaffolding templates generator

justgo's Introduction

Jump-Start Go (JustGo)

Contributions Welcome Go project version Go Report Card FOSSA Status

A helpful builder for a light-weight Go skeleton project takes care of a lot of boilerplate in jump-starting a Go-powered microservice development with Docker and Go best-practices.

To learn more: https://justgo.rocks

Features:

  1. Isolated, project-specific Go environments in a container. No cross-project dependency issues.
  2. No mess with configuring GOPATH across projects!
  3. Code hot-reloading out of the box!
  4. Ready to ship as a container in production, when you are done working with it.
  5. Future-proof choice of dep for dependency-management

INSTALLATION

Easiest way to create a new project skeleton is to install JustGo CLI tool. There's no necessity to install Go on your machine, since the setup provides fully functioning Go environment in a Docker container.

If you already have Go on your machine, you can install the CLI tool with:

> go get github.com/inadarei/justgo

Please make sure you have $GOPATH environment variable set and that $GOPATH/bin is in your $PATH.

or you can install it using Homebrew, even if you don't have Go:

> brew tap inadarei/casks
> brew install justgo

USAGE

After you have installed the CLI tool, to create a skeleton of a new project, just run:

> justgo

You can see various options by running justgo -h. To learn how to run a project, once it is created, see here

Upgrade with Brew

> brew update
> brew upgrade justgo

Contributing

Contributions are always welcome, no matter how large or small. Substantial feature requests should be proposed as an RFC. Before contributing, please read the code of conduct.

See Contributing.

License

MIT

FOSSA Status

justgo's People

Contributors

cmlicata avatar fossabot avatar inadarei avatar joerocklin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

justgo's Issues

Ignore non-problematic files in the destination folder

Currently Justgo requires the destination folder to be completely empty. This can be annoying if you are working in a freshly created github workspace which will typically have .git, .gitignore and README.md.

JustGo should consider presence of these three items to be equivalent of folder being empty, in order to provide better user-experience during bootstrapping.

Setup failure on windows

Summary / Context

A new install on windows fails to unpack the justgo.zip file.

Expected Behavior

A new install to be able to create the skeleton directory.

Current Behavior

PS D:\workdir\go\src\github.com\inadarei\justgo> .\justgo.exe test-app-master
Building a skeleton microservice at destination path: `test-app-master`
open C:\Tempjustgo.zip: Access is denied.

Steps

I'm using a windows 10 machine, with $GOPATH on a different drive than the os.TempDir() returns, though I do not think this has any bearing on the problem.

  1. Perform the steps in installation instructions
  2. run justgo.exe myApp

Suggestions for Solution

Add a path separator on the download location (patch coming soon).

Replace glide with godep as the dependency manager

Summary / Context

Godep has officially become public and deemed safe for production as the standard Go dependency tool.
As such, Gophers are encouraged to migrate their existing projects over to Godep. Sam Boyer and the rest of the Godep team has made it very easy to do so:

during dep init configuration from other dependency managers is detected and imported, unless -skip-tools is specified.

Current Behavior

Currently, justgo is using Glide as its dependency manager, which presents many issues and pain points.

Suggestion for a Solution

It would be best to migrate sooner rather than later, since we want to be able to build out the project without concern for dependency management any longer.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.