gottl

module
v0.0.0-...-bdc5b51 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 6, 2025 License: MIT

README

Go Time To Live - GOTTL

GOTTL is an opinionated collection of tools for building web applications in go and shipping as fast as possible.

Roadmap

  • Core web server + routing + error handling + logging
  • Postgres Integration + Migrations
  • Background workers + tasks
  • Business domains
  • Username + Password Auth
  • Google Oauth
  • Grafana stack setup (loki, tempo, prometheus)
  • Open Telemetry instrumentation
  • Log ingestion with Grafana Alloy
  • Open Telemetry ingestion with Grafana Alloy
  • Default Grafana datasources
  • Scaffolding for new projects and domains
  • Build via Dagger
  • Deploy via Dagger

Directories

Path Synopsis
cmd
api command
cli command
internal
core/hasher
Package hasher wraps the argon2id hashing package to provide a simple interface for hashing and verifying passwords.
Package hasher wraps the argon2id hashing package to provide a simple interface for hashing and verifying passwords.
core/mailer
Package mailer provides a simple interface for sending emails.
Package mailer provides a simple interface for sending emails.
core/server
Package server provides simple and standard utilities for building HTTP servers.
Package server provides simple and standard utilities for building HTTP servers.
core/tasks
Package tasks provides the core contracts for background job definitions.
Package tasks provides the core contracts for background job definitions.
core/validate
Package validate provides a wrapper around the go-playground/validator
Package validate provides a wrapper around the go-playground/validator
data/db
Package db provides the database queries and utiltiies around migrations and transactions.
Package db provides the database queries and utiltiies around migrations and transactions.
data/db/migrations
Package migrations handles the database migrations using goose and embedded sql files.
Package migrations handles the database migrations using goose and embedded sql files.
data/dtos
Package dtos contains all of the data transfer objects (DTOs) for the application.
Package dtos contains all of the data transfer objects (DTOs) for the application.
observability/logtools
Package logtools provides a common construction for loggers.
Package logtools provides a common construction for loggers.
observability/otel
Package otel contains configuration and setup for telemetry
Package otel contains configuration and setup for telemetry
services
Package services contains the main business logic of the application
Package services contains the main business logic of the application
services/emailtemplates
Package emailtemplates provides simple templates for sending emails.
Package emailtemplates provides simple templates for sending emails.
web
Package web contains the web service for the API.
Package web contains the web service for the API.
web/docs
Package docs servces the swagger.json file.
Package docs servces the swagger.json file.
web/extractors
Package extractors contains extractor functions for getting data out of the request.
Package extractors contains extractor functions for getting data out of the request.
web/handlers
Package handlers contains the HTTP handlers for the application endpoints.
Package handlers contains the HTTP handlers for the application endpoints.
web/mid
Package mid contains http middleware for the application.
Package mid contains http middleware for the application.
web/oauth/handlers
Package handlers provides the oauth handlers for the web server.
Package handlers provides the oauth handlers for the web server.
web/oauth/providers
Package providers contains the Oauth2 provider and config structs
Package providers contains the Oauth2 provider and config structs
worker
Package worker provides the worker that processes the tasks.
Package worker provides the worker that processes the tasks.
Package testlib provides utilities for testing.
Package testlib provides utilities for testing.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL