Goravel: A Laravel-inspired web framework for Go developers
GitHub RepoImpressions2.1k
View on GitHub
@githubprojectsPost Author

Goravel: A Laravel-Inspired Web Framework for Go Developers

If you’ve written much Laravel, you know the appeal: clean routing, an expressive ORM, built-in auth, and a structure that just makes sense. Go, by contrast, is a language that keeps things minimal—no framework, no magic, just you and the standard library. That’s great for many projects, but sometimes you want a bit more direction without losing Go’s speed and simplicity.

That’s where Goravel comes in. It’s a web framework for Go that borrows heavily from Laravel’s philosophy—think elegant syntax, familiar directory layout, and features like Artisan-style CLI commands—while staying true to Go’s performance and concurrency model. It’s not a port; it’s a reimagining for a different language.

What It Does

Goravel is a full-featured web framework that gives you:

  • Routing with middleware support, groups, and named routes (hello, Laravel routing syntax)
  • ORM (eloquent-style) for database interactions with migration support
  • Authentication with guards, tokens, and session management
  • Console commands (like php artisan but go run . artisan)
  • Queues and job scheduling
  • Validation, file storage, mail, events, notifications, and more

It’s designed to work with Go’s ecosystem—so you can still use net/http, third-party packages, and goroutines naturally. You’re not locked in.

Why It’s Cool

The most interesting thing about Goravel is how it mirrors Laravel’s developer experience without forcing PHP patterns into Go. For example:

  • Request lifecycle works much like middleware stacks in both frameworks, but in Go it’s compiled and statically typed.
  • Migrate and seed commands feel familiar, but use Go structs and reflection under the hood.
  • Blade-like templating (via renderers) is optional; you can use html/template or anything else.

It’s also surprisingly lightweight. The project avoids heavy abstractions—most things are interfaces you can swap out. And because it’s Go, you get fast compile times, small binaries, and no runtime dependencies bigger than what you already use.

How to Try It

Getting started is straightforward. You need Go 1.18+ installed.

go install github.com/goravel/goravel@latest

Then scaffold a new project:

goravel new myapp
cd myapp
go run .

Open http://localhost:3000 and you’ll see the welcome page. From there you can explore the directory structure—app, routes, resources, config—and start building. The full documentation is at goravel.dev.

If you want a quick demo, the repo has a docker-compose.yml for a ready-to-run environment with Postgres and Redis.

Final Thoughts

Goravel won’t replace the standard library or lightweight routers like chi or gin for every project. But if you’re coming from a PHP background, or you want a Go framework that gives you more structure out of the box, it’s worth a look. The command-line tooling alone saves time, and the ORM is genuinely pleasant to use in a statically typed language.

It’s still evolving, so check the issues and PRs to see what’s coming. But as it stands, Goravel is one of the more complete attempts to bring Laravel-like DX to Go without feeling like a cheap imitation.


Found this while browsing? @githubprojects

Back to Projects
Last updated: June 4, 2026 at 05:54 AM