Revel

A flexible web framework for the Go language.

Latest Release:
v1.0.0 on 2020-07-11
Go: v1.13+ required

Platform features

Hot Code Reload

Edit, save, and refresh. Revel compiles your code and templates for you, so you don't miss a beat. Code doesn't compile? It gives you a helpful description. Run-time code panic? Revel has you covered.

Flow Control

Revel is built around composable middleware called filters, which implement nearly all request-processing functionality. Developers have the freedom to replace the default filters with custom implementations.

Migration Friendly

Already have an application started ? No problems, migrate easily to Revel by passing the path that you want your mux to handle to Revels Mux, and all requests for that path will be passed to that your Http muxer.

Reusable MVC Components

Revel has modules. These are reusable MVC components that you can implement across all your projects. No need to copy and paste your code with these.

Go mod Ready

Revel implements Go's builtin dependency management tool go mod. Making consistent builds a breeze.

Stateless

Revel provides primitives that keep the web tier stateless for predictable scaling. For example, session data can be stored in the user cookie, and the cache is backed by a memcached cluster, redis or in-memory.

Quick Start

Revel has some sample applications to demonstrate typical usage.

The commands at right will:

  • Install and Build the Revel command-line tool
  • Install the sample applications
  • Run the Chat sample application
  • Open http://localhost:9000/

Read how the chat demo is implemented.


Routing
A simple declarative routing syntax. Type-safe reverse routing.
Controllers
Revel organizes endpoints into Controllers. They provide easy data binding and form validation.
Templates
Revel makes Go Templates simple to use at scale.
Interceptors
Register functionality to be called before or after actions. They can be activated per Controller.
Filters
More general functionality can be implemented with Filters.