• Stars
    star
    197
  • Rank 197,722 (Top 4 %)
  • Language
    Go
  • License
    Apache License 2.0
  • Created about 10 years ago
  • Updated about 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Source code for the book "Building Web Apps with Go"

Introduction

Welcome to Building Web Apps with Go! If you are reading this then you have just started your journey from noob to pro. No seriously, web programming in Go is so fun and easy that you won't even notice how much information you are learning along the way!

Keep in mind that there are still portions of this book that are incomplete and need some love. The beauty of open source publishing is that I can give you an incomplete book and it is still of value to you.

Before we get into all the nitty gritty details, let's start with some ground rules:

Prerequisites

To keep this tutorial small and focused, I'm assuming that you are prepared in the following ways:

  1. You have installed the Go Programming Language.
  2. You have setup a GOPATH by following the How to Write Go Code tutorial.
  3. You are somewhat familiar with the basics of Go. (The Go Tour is a pretty good place to start)
  4. You have installed all the required packages
  5. You have installed the Heroku Toolbelt
  6. You have a Heroku account

Required Packages

For the most part we will be using the built in packages from the standard library to build out our web apps. Certain lessons such as Databases, Middleware and URL Routing will require a third party package. Here is a list of all the go packages you will need to install before starting:

Name Import Path Description
httprouter github.com/julienschmidt/httprouter A high performance HTTP request router that scales well
Negroni github.com/codegangsta/negroni Idiomatic HTTP Middleware
Black Friday github.com/russross/blackfriday a markdown processor
Render gopkg.in/unrolled/render.v1 Easy rendering for JSON, XML, and HTML
SQLite3 github.com/mattn/go-sqlite3 sqlite3 driver for go

You can install (or update) these packages by running the following command in your console

go get -u <import_path>

For instance, if you wish to install Negroni, the following command would be:

go get -u github.com/codegangsta/negroni

More Repositories

1

gin

Live reload utility for Go web servers
Go
4,228
star
2

inject

Dependency injection for go
Go
985
star
3

martini-contrib

This project has moved!
Go
278
star
4

essential-go

Go
174
star
5

caddy-nats

A caddy module that adds support for nats.io pub/sub and request/reply
Go
85
star
6

mixer

Classy HTTP Handlers in Go
Go
57
star
7

dotfiles

Jeremy's dotfiles
Shell
53
star
8

controller

Lightweight Web Controllers in Go
Go
27
star
9

envy

General purpose environment bootstrapper
Go
25
star
10

go-advent-martini

Example project for the Go Advent Martini post
Go
22
star
11

mixology

A small, idiomatic http routing library for Go
Go
17
star
12

attr_inject

Elegant dependency injection in ruby
Ruby
16
star
13

schema_registry

A Bare bones and barely working schema registry for NATS
Go
9
star
14

pompom

Go
6
star
15

codegangsta.github.io

Rants and raves from a certified G
Astro
5
star
16

hip

A console buddy for your http requests.
Go
5
star
17

Astroneer

A mod for Starfield that puts you in the shoes of a freelance ship designer.
CUE
4
star
18

confab

Anonymized email service
Go
4
star
19

context-helpers

Go
4
star
20

goget

Serving up go package versions since 2014
Go
4
star
21

gophercon_2023_workshop

Go
3
star
22

PBTriggers

A simple but powerful trigger implementation for Pushbutton Engine
ActionScript
3
star
23

ck3_language_server

A Language Server Protocol (LSP) implementation of the Paradox interactive scripting language for Crusader Kings 3
Go
2
star
24

viewcontroller

Go
2
star
25

deck

Slide decks for presentations and workshops
MDX
2
star
26

ImbueSharp

A Simple dependency injection system for C#
C#
2
star
27

imbue.js

Dead simple dependency injection for javascript
JavaScript
2
star
28

alfred-teamocil

A teamocil launcher for Alfred
Ruby
2
star
29

negroni-docker-test

Go
1
star
30

MetaUtil

AS3 utility for easily processing metadata
ActionScript
1
star
31

s3_thumbnail

Ruby
1
star
32

Budgey

iPhone app using the Fiscus API
Objective-C
1
star
33

kubecon22

Kubecon 2022 slides and example
1
star
34

spotify

Go bindings for libspotify
Go
1
star
35

billboard

Cool terminal display for things like time and stats
C
1
star
36

firekeeper

TypeScript
1
star
37

nats-todo

TypeScript
1
star
38

nats-trivia

TypeScript
1
star