A collection of small, focused Go projects—each folder is its own “tiny lab” exploring one idea (HTTP routing, cookies, sessions, DB access, WebSockets, templates, etc.).
Most folders are standalone Go modules (they include a go.mod). A few are single-file examples without modules.
# pick a folder and run it
cd <project-folder>
go run .If a folder doesn’t have a main.go (or doesn’t compile as-is), run the specific file called out in that section.
-
crud-go-apiA Basic CRUD Application application api. -
form-login-logoutA UI template for a login FLow. -
go-cacheA tiny REST CRUD api for a Movie resource using Gorilla Mux. -
go-fiber-crm-basicCRM style API skeleton with Fiber+GORM+SQLite -
http-clientAn example of building an HTTP “client façade” using Resty to call another service, with Gorilla Mux routes defined for local endpoints. -
http-errorCentralized HTTP error handling by wrapping handlers that can return errors. -
http-image-generator-apiA small gin API showcasing route groups, JSON binding/validation, and file upload handling. -
http-request-gorilla-muxA gorilla mux server that does Basic routing, Request logging middleware, Path variables. -
http-restCompact rest API for an Employee resource, including versioned endpoints (/v1,/v2) -
http-serverA "Hello World" HTTP server protected by Basic Auth with constant time comparision -
http-sessionA minimal authentication session example using Redis-backed sessions viaredistore(Gorilla sessions). -
mysql-book-managerA small REST API for managingBookrecords using Gorilla Mux + GORM + MySQL. -
mysql-db-goA direct MySQL CRUD demo using the standard librarydatabase/sql(plus Gorilla Mux for routing). -
secure-cookieA minimal webserver demonstrating how to securely encode, decode, set and read HTTP cookies. -
serving-templatesA small server that serves HTML templates and static assets, plus a login form with validation. -
tcp-serverA minimal TCP echo server usingnet—a great contrast to the HTTP examples. -
uploading-fileA minimal HTML + Go server that accepts file uploads using multipart form data.
A broadcast-style WebSocket server using gorilla/websocket where messages from one client are fanned out to all connected clients.
-
cli-markdown-previewA Minimalistic command line based Markdown preview tool. Usingbluemondaypackage from golang which is an html sanitizer,blackfriday/v2which is a markdown processor and provides full UTF-8 support. -
cli-todoA simple, fast, and lightweight Command-Line Interface (CLI) task manager written in Go. It persists tasks to a local JSON file, supports interactive input, and accepts environment variable configuration.