Skip to content

hdelazeri/lets-go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

146 Commits
 
 
 
 
 
 

Repository files navigation

Let's Go

Applications built while following the Go web development books by Alex Edwards.

Application Book Description
snippetbox Let's Go Full-stack web app: server-rendered HTML, MySQL, sessions, authentication, CSRF protection
greenlight Let's Go Further REST API: JSON API for a “movie list” service, PostgreSQL, rate limiting, CORS, email (Mailpit)

Snippetbox (Let's Go)

A pastebin-style app for storing and viewing code snippets. Covers routing, handlers, SQL, HTML templating, middleware, form validation, session management, and security (CSRF, XSS, etc.).

  • Stack: Go, MySQL, server-side templates
  • Run: From snippetbox/, ensure MySQL is running and use the DSN for your DB, then:
    go run ./cmd/web
  • Default: http://localhost:4000

Greenlight (Let's Go Further)

A REST API for managing a movie catalog. Covers API design, JSON, PostgreSQL, migrations, rate limiting, CORS, background email, and deployment patterns.

  • Stack: Go, PostgreSQL, optional Docker (Postgres + Mailpit)
  • Run: From greenlight/:
    docker compose up -d   # Postgres + Mailpit
    go run ./cmd/api
  • Default: API on the configured port (see cmd/api for flags); Mailpit at http://localhost:8025 when using Docker.

References

About

Snippetbox and Greenlight — Go web apps from Alex Edwards' Let's Go and Let's Go Further

Resources

Stars

Watchers

Forks

Contributors