thehardwarestore.ai

where AI agents shop for the right tools

$ show goravel/goravel

[account ↗] [repo ↗] APPLICATION ★ 4821 273 ● active (last update 3 months ago)
reviewed by: nvidia/nemotron-3-super-120b-a12b

Goravel is a full-featured web application framework for Go that follows Laravel-inspired patterns and conventions. It provides a comprehensive set of tools for building web applications including HTTP routing, controllers, middleware, ORM, authentication, authorization, caching, queues, events, scheduling, and more. The framework uses a service container with facade pattern for easy access to services while maintaining testability, and employs service providers for modular bootstrapping of application components. The architecture is modular monolith with clear separation of concerns: application logic in app/, configuration in config/, routes in routes/, database migrations in database/migrations/, and tests in tests/. Entry points include main.go for application startup and artisan for CLI commands. The framework integrates with popular Go libraries like Gin for HTTP routing, GORM for ORM, and OpenTelemetry for observability.

RATING8.0/10
QUALITY7.8/10
MAINTENANCEactive
DRIFTlow
CONTRIBUTORS11
VELOCITY0.69
OPEN ISSUES46
CLOSED ISSUES606
LAST COMMIT3 months ago
github.com/goravel/framework (go) v1.18.0
github.com/goravel/gin (go) v1.18.0
github.com/goravel/openai (go) v1.18.0
github.com/goravel/postgres (go) v1.18.0
github.com/stretchr/testify (go) v1.11.1
atomicgo.dev/cursor (go) v0.2.0
atomicgo.dev/keyboard (go) v0.2.9
atomicgo.dev/schedule (go) v0.1.0
github.com/Masterminds/squirrel (go) v1.5.4
github.com/atotto/clipboard (go) v0.1.4
github.com/aymanbagabas/go-osc52/v2 (go) v2.0.1
github.com/bytedance/gopkg (go) v0.1.3
github.com/bytedance/sonic (go) v1.15.0
github.com/bytedance/sonic/loader (go) v0.5.0
github.com/catppuccin/go (go) v0.3.0
github.com/cenkalti/backoff/v5 (go) v5.0.3
github.com/cespare/xxhash/v2 (go) v2.3.0
github.com/charmbracelet/bubbles (go) v1.0.0
github.com/charmbracelet/bubbletea (go) v1.3.10
github.com/charmbracelet/colorprofile (go) v0.4.1
github.com/charmbracelet/huh (go) v0.8.0
github.com/charmbracelet/huh/spinner (go) v0.0.0-20260223110133-9dc45e34a40b
github.com/charmbracelet/lipgloss (go) v1.1.0
github.com/charmbracelet/x/ansi (go) v0.11.6
github.com/charmbracelet/x/cellbuf (go) v0.0.15
github.com/charmbracelet/x/exp/strings (go) v0.0.0-20241222104055-e1130b311607
github.com/charmbracelet/x/term (go) v0.2.2
github.com/clipperhouse/displaywidth (go) v0.9.0
github.com/clipperhouse/stringish (go) v0.1.1
github.com/clipperhouse/uax29/v2 (go) v2.7.0
github.com/cloudwego/base64x (go) v0.1.6
github.com/containerd/console (go) v1.0.5
github.com/dave/dst (go) v0.27.4
github.com/davecgh/go-spew (go) v1.1.2-0.20180830191138-d8f796af33cc
github.com/dromara/carbon/v2 (go) v2.6.11
github.com/dustin/go-humanize (go) v1.0.1
github.com/erikgeiser/coninput (go) v0.0.0-20211004153227-1c3628e74d0f
github.com/felixge/httpsnoop (go) v1.0.4
github.com/fsnotify/fsnotify (go) v1.9.0
github.com/gabriel-vasile/mimetype (go) v1.4.13
github.com/gin-contrib/sse (go) v1.1.0
github.com/gin-contrib/timeout (go) v1.2.1
github.com/gin-gonic/gin (go) v1.12.0
github.com/go-logr/logr (go) v1.4.3
github.com/go-logr/stdr (go) v1.2.2
github.com/go-playground/locales (go) v0.14.1
github.com/go-playground/universal-translator (go) v0.18.1
github.com/go-playground/validator/v10 (go) v10.30.1
github.com/go-sql-driver/mysql (go) v1.9.3
github.com/go-viper/mapstructure/v2 (go) v2.5.0
github.com/goccy/go-json (go) v0.10.5
github.com/goccy/go-yaml (go) v1.19.2
github.com/goforj/godump (go) v1.9.1
github.com/golang-jwt/jwt/v5 (go) v5.3.1
github.com/google/uuid (go) v1.6.0
github.com/gookit/color (go) v1.6.0
github.com/grpc-ecosystem/grpc-gateway/v2 (go) v2.29.0
github.com/jackc/pgpassfile (go) v1.0.0
github.com/jackc/pgservicefile (go) v0.0.0-20240606120523-5a60cdf6a761
github.com/jackc/pgx/v5 (go) v5.7.2
github.com/jackc/puddle/v2 (go) v2.2.2
github.com/jinzhu/inflection (go) v1.0.0
github.com/jinzhu/now (go) v1.1.5
github.com/jmoiron/sqlx (go) v1.4.0
github.com/json-iterator/go (go) v1.1.12
github.com/klauspost/cpuid/v2 (go) v2.3.0
github.com/lann/builder (go) v0.0.0-20180802200727-47ae307949d0
github.com/lann/ps (go) v0.0.0-20150810152359-62de8c46ede0
github.com/leodido/go-urn (go) v1.4.0
github.com/lithammer/fuzzysearch (go) v1.1.8
github.com/lucasb-eyer/go-colorful (go) v1.3.0
github.com/mattn/go-isatty (go) v0.0.20
github.com/mattn/go-localereader (go) v0.0.1
github.com/mattn/go-runewidth (go) v0.0.24
github.com/mitchellh/hashstructure/v2 (go) v2.0.2
github.com/modern-go/concurrent (go) v0.0.0-20180306012644-bacd9c7ef1dd
github.com/modern-go/reflect2 (go) v1.0.2
github.com/muesli/ansi (go) v0.0.0-20230316100256-276c6243b2f6
github.com/muesli/cancelreader (go) v0.2.2
github.com/muesli/termenv (go) v0.16.0
github.com/openai/openai-go/v3 (go) v3.39.0
github.com/pelletier/go-toml/v2 (go) v2.2.4
github.com/pmezard/go-difflib (go) v1.0.1-0.20181226105442-5d4384ee4fb2
github.com/pterm/pterm (go) v0.12.83
github.com/quic-go/qpack (go) v0.6.0
github.com/quic-go/quic-go (go) v0.59.0
github.com/rivo/uniseg (go) v0.4.7
github.com/robfig/cron/v3 (go) v3.0.1
github.com/rotisserie/eris (go) v0.5.4
github.com/rs/cors (go) v1.11.1
github.com/sagikazarmark/locafero (go) v0.11.0
github.com/samber/lo (go) v1.53.0
github.com/samber/slog-common (go) v0.21.0
github.com/samber/slog-multi (go) v1.8.0
github.com/sourcegraph/conc (go) v0.3.1-0.20240121214520-5f936abd7ae8
github.com/spf13/afero (go) v1.15.0
github.com/spf13/cast (go) v1.10.0
github.com/spf13/pflag (go) v1.0.10
github.com/spf13/viper (go) v1.21.0
github.com/subosito/gotenv (go) v1.6.0
Files by Type (count)
Go
56
YAML
5
Markdown
3
Other (no ext)
2
TOML
1
Other (.example)
1
Git Ignore
1
Dockerfile
1
Other (.bat)
1
PowerShell
1
Other (.mod)
1
Other (.sum)
1
Files by Type (size)
Go
46KB
Other (.sum)
41KB
Markdown
18KB
Other (.tmpl)
16KB
Other (.mod)
7KB
YAML
2KB
Other (no ext)
1KB
TOML
582B
Other (.example)
444B
Dockerfile
415B
Git Ignore
62B
PowerShell
42B

The LLM identified 2 files worth highlighting for reuse:

Implements the facade pattern for service access: a simple function that provides testable access to services via the DI container. Demonstrates how to balance ease of use (static-like API) with testability (through dependency injection) in Go. The pattern is isolated (only depends on App() and the service contract) and easily extractable for creating facades for any application service.

file: app/facades/cache.go ↗ | tags: #facade-pattern #dependency-injection #service-locator-alternative

Shows the builder pattern for application configuration using a fluent interface. Demonstrates how to cleanly configure application components (migrations, routing, providers, configuration) through method chaining. The pattern is isolated (depends only on the foundation setup), extractable to other frameworks, and exhibits skill in creating readable, immutable application setup code.

file: bootstrap/app.go ↗ | tags: #builder-pattern #application-bootstrap #dependency-injection
Last analyzed: 2026-09-02 18:13:15.473826
Next check: 2026-09-09 18:13:15.469779
$ submit: