Routing, an ORM, validation, queues, events and cache, in one framework.
Route::middleware('auth')->group(function () {
Route::get('/tasks', [TaskController::class, 'index']);
});
facades.Route().Middleware(middleware.Auth()).
Group(func(router route.Router) {
router.Get("/tasks", taskController.Index)
})
HTTP, gRPC, queue, scheduler and telemetry start together.
// config/app.go
"disabled_runners": []string{
"goravel:schedule",
},
Runs on gin. Install fiber, change one line.
// config/http.go
config.Add("http", map[string]any{
- "default": "gin",
+ "default": "fiber",
Postgres or Redis in Docker, from inside a test.
database, err := facades.Testing().
Docker().Database("postgres")
cache, err := facades.Testing().
Docker().Cache("redis")
Agents and tools for OpenAI, Anthropic and Gemini.
conversation, err := facades.AI().
Agent(&agents.SupportAgent{})
if err != nil {
return err
}
OpenTelemetry traces, metrics and logs.
# .env
OTEL_TRACES_EXPORTER=otlptrace
OTEL_METRICS_EXPORTER=otlpmetric
OTEL_LOGS_EXPORTER=otlplog
Upload the binary and your .env. No runtime to install.
$ go run . artisan build --static
# upload
.env
./goravel
4 / 30facades installed
Goravel Lite ships only the essentials. Add the rest when you need them.
4,836GitHub stars
43contributors