Gogen

GoGen is a scaffolding tool for go based services

Installation

git clone https://github.com/praveenpenumaka/gogen
cd gogen
make install

Quick start

  1. Go to the directory where you want to create the project

cd $GOPATH/src/github.com/praveenpenumaka/
  1. Create a new project

gogen new testproject

This will create a project folder with project manifest file

  1. change to project directory

cd testproject
  1. Generate project folders/files

gogen generate
  1. Go modules fetch

make once

Adding a new crud route

gogen generate crud Product

Running migration

make migrate

Running the server

make run-api

TODO

  • Config
    • send basepath as argument
  • AppContext
  • Router
    • CRUD
    • Generic routes
  • Makefile
  • Models
    • gorm types for models
  • Controllers
  • Main
  • Command line
  • Authentication
    • Basic authentication
      • Login
      • Auth middleware
      • register
    • Phone OTP authentication
    • Slack authentication
    • Google authentication
    • Facebook authentication
  • Swagger docs
  • FileUpload
  • Static file server
  • Logging
  • Metric tracer
  • Cache
  • Worker
  • EventHandler
  • Readme file
  • Dockerfile

GitHub

https://github.com/praveenpenumaka/gogen/