Giter Club home page Giter Club logo

go-web-1's Introduction

big-gopher

License MIT Build Status Go Report Card

Go-Web

Modern Web Application with Golang "Keep it simple, stupid"

Stack

Getting Started

$ go get ./...
$ docker-compose up
$ go run main.go

Install tools

$ go get -u honnef.co/go/tools/cmd/staticcheck
$ go get -u github.com/kisielk/errcheck

Guidelines

Tooling

Documentation

$ godoc github.com/starptech/go-web/controller
$ godoc -http=:6060

Visit localhost:6060 and search for go-web

Benchmarking

$ bombardier -c 10 -n 10000 http://localhost:8080/feed
$ bombardier -c 10 -n 10000 http://localhost:8080/users/1
$ bombardier -c 10 -n 10000 http://localhost:8080/users/1/details

TODO

Each of the items should be implemented with the easiest approach.

  • Testsuite
  • Parameter Validation
  • Configuration
  • Load ENV variables from .env file
  • Add Graylog logger
  • Structured logging
  • Frontend build pipeline
  • Postgresql models
  • Gracefully shutdown
  • Consistent error-handling
  • Web Development with Custom elements
  • Templating
  • Correct linking with the app bundles
  • Metric endpoint (Prometheus)
  • Healthcheck endpoint
  • Distributed cache with Redis
  • Localization in templates and handlers
  • JWT
  • Benchmarks
  • Integration tests
  • Unit tests
  • Using interface for db, cache (better testable)
  • Setup Travis CI with static code analysis
  • Code documentation godoc
  • Rollup bundles with hashs
  • Implement sample feed machanism (timestamp based)

Deploy on Heroku

Heroku Deploy

Further reading

go-web-1's People

Contributors

starptech avatar

Watchers

James Cloos avatar

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.