awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
revel avatar

revel/revel

0
View on GitHub↗
13,224 stars·1,360 forks·Go·MIT·49 viewsrevel.github.io↗

Revel

Revel is a full-stack web framework and toolkit for building applications with the Go language. It implements a model-view-controller architecture to separate business logic from user interface rendering, providing a comprehensive system for routing, parameter binding, and session management.

The project distinguishes itself with a high-productivity development environment featuring automatic code compilation and hot-reloading, which refreshes the application state and templates upon file changes without requiring manual restarts. It also employs reflection-based parameter binding to automatically convert raw request data into typed variables.

The framework covers a broad range of capabilities, including server-side HTML rendering with pluggable template engines, bidirectional WebSocket communication, and a composable middleware filter chain. Additional support is provided for signed cookie session management, content internationalization, asynchronous background job execution, and hierarchical application logging.

The system includes utilities for managing the application lifecycle, from ordered startup initialization to shutdown hooks.

Features

  • Controller-Based Routing - Implements an architectural pattern mapping incoming network requests to specific controller actions.
  • MVC Frameworks - A framework implementing the model-view-controller pattern to separate business logic from user interface rendering.
  • Full-Stack Web Frameworks - Provides a full-stack Go framework with integrated routing, template rendering, and session management.
  • Go Web Frameworks - A full-stack framework for building web applications using the Go language with a focus on developer productivity.
  • Hot-Reloading Systems - Monitors the workspace for file changes and automatically restarts the application to apply updates.
  • Live Reloading Environments - A development environment that automatically compiles code and refreshes templates upon file changes without manual restarts.
  • Automatic Parameter Mapping - Maps parsed request parameters directly to typed variables within the application code.
  • Cookie Signing Utilities - Appends cryptographic signatures to browser cookies using a secret key to ensure session data integrity.
  • Session & Cookie Handlers - Maintains user sessions and state across multiple requests using signed client-side cookies.
  • Session Management - Decodes session cookies to maintain persistent user state across requests and provides data to templates.
  • Web Session Management - Persists client state across multiple HTTP requests using server-side or cookie-based stores to maintain a stateless web tier.
  • Composable Middleware Pipelines - Provides a chain of composable middleware filters to process cross-cutting concerns in the request lifecycle.
  • Request Middleware - Uses request middleware to run custom logic before and after controller actions for cross-cutting concerns.
  • HTML Template Renderers - Generates dynamic HTML responses by injecting data into templates through a pluggable rendering engine.
  • HTTP Request Handling - Provides comprehensive utilities for parsing incoming HTTP requests to extract headers, locales, and query parameters.
  • HTTP Response Handling - Implements tools for configuring HTTP response headers, status codes, and content types.
  • Routing and Request Handling - Provides a comprehensive system for mapping network traffic to controllers and managing the request-response lifecycle.
  • Controller Action Resolution - The project maps incoming web requests to specific controller methods by resolving the target action.
  • Controller-Action Routing - Maps incoming HTTP request paths and methods to specific Go controller methods for execution.
  • Dynamic Template Rendering - Performs runtime evaluation of templates with dynamic data to generate HTML output for web pages at scale.
  • Go API Toolkits - A comprehensive set of tools for handling routing, parameter binding, session management, and validation in Go.
  • HTML Response Renderers - Produces dynamic HTML responses by combining templates with data arguments and serving them with correct HTTP headers.
  • HTML Templating Engines - Implements a general-purpose HTML templating engine to generate dynamic content by injecting data and conditional logic into views.
  • HTTP Server Configuration - Manages network parameters including HTTP/HTTPS ports and SSL certificates to control server exposure.
  • Reflection-Based Data Binding - Implements automatic mapping of raw request parameters and JSON bodies into typed Go variables using reflection.
  • Server-Side Rendering - Generating dynamic web pages by injecting data into templates on the server before sending them to the browser.
  • Request Data Binding - Automatically unmarshals raw JSON request bodies into structured Go objects.
  • Request Parameter Parsers - Translates string parameters from URLs and requests into Go primitives and slices.
  • Request Validation - Enforces data constraints and validates incoming URL and form parameters before business logic execution.
  • HTTP Routing - Maps HTTP methods and URL paths to specific controller actions to direct web traffic.
  • Server Initialization Hooks - Initializes the application environment, loads templates, and boots the HTTP engine upon startup.
  • Server-Side Rendering Engines - A system for generating dynamic HTML pages using Go templates and a pluggable rendering engine.
  • Template Execution Engines - Renders templates with provided data to return the final HTML response as a string.
  • Unified Parameter Extraction - Extracts data from URL queries, route patterns, and form bodies into a unified structure for easy access.
  • Web Server Hosting - Provides the core mechanism to listen for incoming HTTP requests on a network address and route them to handlers.
  • Data Caching - The project stores frequently accessed data in memory or external clusters to decrease response times and reduce database load.
  • JSON Response Serializers - Automatically converts server-side data structures into JSON strings for API response serving.
  • Automatic Template Reloading - The project watches template files for changes and refreshes them in real-time to update the interface without restarting the server.
  • State-Persistent Reloading - Monitors file changes to trigger an immediate application refresh and update state without manual intervention.
  • String Localization - The project retrieves localized strings based on a language code with support for argument substitution and XSS protection.
  • Background Job Processing - Executes asynchronous tasks independently of the main request-response cycle to prevent UI blocking.
  • Application Settings Management - Manages application configuration by loading and overriding parameters from defaults and user-supplied files.
  • View Argument Mapping - Assigns data to a view arguments map that is automatically available for rendering within templates.
  • Lifecycle Request Handlers - Executes custom logic at specific stages of the request-response cycle for authentication and logging.
  • WebSocket Managers - Manages the sending and receiving of messages over persistent WebSocket connections for real-time communication.
  • In-Memory Compilation - Compiles code and templates in-memory on save to reflect changes immediately in the browser.
  • Network Encryption - Encrypts network communication by loading SSL certificates and keys to serve the application over HTTPS.
  • Method Interceptors - Provides hooks to execute specific logic before or after controller method invocations.
  • Application Lifecycle Management - Coordinates the execution of specific initialization and shutdown tasks in a defined order.
  • Application Text Translation - The project looks up and formats messages for specific locales using translation files.
  • Controller Lifecycle Hooks - Executes predefined logic at specific stages of the controller lifecycle, including before, after, and panic events.
  • Request Context Management - Provides mechanisms for tracking parameters and session state across the request lifecycle.
  • Internationalized Content Renderers - Generates localized HTML views with built-in support for translation and regional time formatting.
  • Input Validation Rules - Provides declarative rules to validate that user input meets required criteria with default error messages.
  • Request Simulators - Simulates request and response cycles to verify web handler logic without requiring a live server.
  • Controller Lifecycle Hooks - Implements hooks to execute predefined logic before, after, or during panics within the controller lifecycle.
  • Panic Recovery - The project intercepts runtime crashes to log stack traces and serve a formatted error page.
  • Diagnostic Error Pages - The project captures runtime panics and extracts source code lines and stack traces for diagnostic error pages.
  • File Streaming - Streams files directly from the local filesystem to the client based on the requested path.
  • Content Translation - Translates and localizes user-facing application text for different languages and regional settings.
  • Middleware Configuration - Provides interfaces for registering and ordering the sequence of middleware filters applied to controllers.
  • RESTful API Development - Creating web services that process JSON requests and return structured data for client applications using Go.
  • Template Engine Abstractions - Provides an abstraction layer that allows multiple template engines to be used interchangeably based on file extensions.
  • Template Logic - Provides syntax and control structures to manage view-level state and retrieve session data within templates.
  • Static Asset Serving - Optimizes the delivery of static files and directory listings from a public directory to clients.
  • WebSockets - Implements persistent bidirectional communication channels using the WebSocket protocol.
  • Full-stack Frameworks - Full-stack framework focused on high developer productivity.
  • Web Frameworks - High-productivity full-stack web framework for Go.

Star history

Star history chart for revel/revelStar history chart for revel/revel

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Revel

These projects share indexed features with Revel. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • kataras/iriskataras avatar

    kataras/iris

    25,582View on GitHub↗

    Iris is a high-performance web framework and API toolkit for the Go programming language. It provides the infrastructure necessary to build HTTP/2 web applications, REST APIs, and MVC-based websites. The project distinguishes itself through a flexible architectural model that supports multiple isolated application instances within a single process and allows for binary-embedded asset loading to eliminate external filesystem dependencies. It features dynamic router hot-reloading and a pluggable view engine for rendering dynamic HTML content. The framework covers a broad range of capabilities,

    Go
    View on GitHub↗25,582
  • dodyg/practical-aspnetcoredodyg avatar

    dodyg/practical-aspnetcore

    10,382View on GitHub↗

    This project is a comprehensive sample library and implementation guide for ASP.NET Core. It provides a collection of practical examples and projects that demonstrate how to build web applications, RESTful APIs, and high-performance services. The repository focuses on a variety of architectural patterns, including the development of Minimal APIs, contract-first gRPC services, and real-time communication using WebSockets and Server-Sent Events. It includes detailed implementations for user identity and security, such as token-based authentication and CSRF protection. The codebase covers a bro

    C#asp-net-coreaspnet-coreaspnetcore
    View on GitHub↗10,382
  • elysiajs/elysiaelysiajs avatar

    elysiajs/elysia

    18,531View on GitHub↗

    Elysia is a high-performance TypeScript web framework designed for building type-safe backend services. It provides a modular, plugin-based architecture that allows developers to compose server logic, middleware, and validation schemas into scalable application instances. By leveraging native web standards, the framework ensures portability across diverse JavaScript runtimes, including Node.js, Deno, and various edge computing environments. The framework distinguishes itself through its focus on end-to-end type safety, automatically synchronizing request and response definitions between the s

    TypeScriptbunframeworkhttp
    View on GitHub↗18,531
  • gobuffalo/buffalogobuffalo avatar

    gobuffalo/buffalo

    8,392View on GitHub↗

    Buffalo is a comprehensive MVC web framework and full-stack toolchain for building web applications in Go. It provides a structured development environment that separates models, views, and controllers, integrating a web framework with a dedicated object-relational mapper wrapper for database schema and record management. The project distinguishes itself through a set of development utilities for bootstrapping project structures, managing assets, and building production-ready containers. It features a sophisticated routing system that supports convention-based RESTful resource generation, dom

    Go
    View on GitHub↗8,392
Compare all 30 related projects→

Frequently asked questions

What does revel/revel do?

Revel is a full-stack web framework and toolkit for building applications with the Go language. It implements a model-view-controller architecture to separate business logic from user interface rendering, providing a comprehensive system for routing, parameter binding, and session management.

What are the main features of revel/revel?

The main features of revel/revel are: Controller-Based Routing, MVC Frameworks, Full-Stack Web Frameworks, Go Web Frameworks, Hot-Reloading Systems, Live Reloading Environments, Automatic Parameter Mapping, Cookie Signing Utilities.

Which projects share features with revel/revel?

Projects with overlapping indexed features include: kataras/iris — Iris is a high-performance web framework and API toolkit for the Go programming language. It provides the… dodyg/practical-aspnetcore — This project is a comprehensive sample library and implementation guide for ASP.NET Core. It provides a collection of… elysiajs/elysia — Elysia is a high-performance TypeScript web framework designed for building type-safe backend services. It provides a… gobuffalo/buffalo — Buffalo is a comprehensive MVC web framework and full-stack toolchain for building web applications in Go. It provides… livebud/bud — Bud is a full-stack web framework for Go that functions as a scaffolding engine and code generation tool. It automates… an-tao/drogon — Drogon is a high-performance C++ HTTP web framework and asynchronous web server designed for building web applications…