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
go-martini avatar

go-martini/martini

0
View on GitHub↗
11,603 stars·1,090 forks·Go·MIT·52 viewsmartini.codegangsta.io↗

Martini

Martini is a web framework for the Go programming language that provides a toolkit for building web applications. It functions as a routing engine and an HTTP middleware pipeline to map network requests to specific handler functions.

The framework is distinguished by its dependency injection system, which automatically resolves and provides requested service types as arguments to handler functions. This allows for the decoupling of business logic from infrastructure by matching requested types against a registry of available services.

The project covers a broad range of web capabilities, including route grouping via path prefixes, the execution of middleware stacks for cross-cutting concerns, and the hosting of static assets from local directories. It also includes tools for managing HTTP responses, routing through regular expressions, and recovering from runtime panics to prevent server crashes.

Features

  • Dependency Injection - Features a reflection-based dependency injection system that automatically resolves function arguments from a service registry.
  • Go Web Frameworks - Provides a comprehensive toolkit for building web applications in Go with routing and middleware.
  • Web Application Frameworks - Provides a comprehensive toolkit for building web applications with integrated routing and dependency injection.
  • Route Pattern Matching - Maps incoming HTTP methods and URL paths to specific handlers using regular expressions and parameters.
  • Dependency Injection Frameworks - Implements an inversion-of-control system to automatically resolve and inject service dependencies into handlers.
  • Middleware Pipelines - Implements a sequential chain of modular middleware handlers to process HTTP requests and responses.
  • HTTP Request Handlers - Matches incoming HTTP requests to specific handler functions based on the HTTP verb and URL path pattern.
  • HTTP Request Handlers - Processes incoming network requests through a pipeline of middleware and handlers to generate final HTTP responses.
  • Middleware Chains - Implements an architectural pipeline for processing requests through a sequence of middleware handlers.
  • Middleware Pipelines - Implements modular middleware pipelines to manage cross-cutting concerns like logging and authentication.
  • Request Middleware - Defines a sequence of middleware handlers to process requests in a specific order.
  • Request Routing - Provides mechanisms for directing incoming network requests to appropriate handlers based on path and method matching.
  • HTTP Routing - Directs incoming HTTP traffic to specific handlers using request methods, URL patterns, and regular expressions.
  • Pattern-Based Route Mapping - Provides a routing engine that maps HTTP methods and URL patterns to handler functions using regular expressions.
  • Response Value Mapping - Translates values returned by route handlers into HTTP response bodies and status codes automatically.
  • Request Interception Middleware - intercepts requests via middleware stacks to handle cross-cutting concerns before they reach the main application logic.
  • HTTP Response Handling - Controls HTTP response status codes, headers, and body content, with support for connection hijacking.
  • Panic Recovery - Provides middleware to intercept runtime panics and return standard error responses to prevent server crashes.
  • HTTP Servers - Starts a listening process on a specified port to accept and serve incoming web traffic.
  • Automatic Response Mapping - Automatically converts values returned by handler functions into HTTP status codes and response bodies via type introspection.
  • Route Grouping - Clusters related endpoints under shared URL path prefixes and common middleware stacks for modular organization.
  • Server Process Management - Manages the listening process on a network address and handles runtime panic recovery.
  • Web Servers - Binds the application to a network address to listen for and process incoming HTTP traffic.
  • Web Servers and Frameworks - A lightweight and modular web framework.
  • Full-stack Frameworks - Classy web framework for modular application design.
  • Web Frameworks - Lightweight and modular web framework for Go.

Star history

Star history chart for go-martini/martiniStar history chart for go-martini/martini

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 Martini

These projects share indexed features with Martini. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • 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
  • sanic-org/sanicsanic-org avatar

    sanic-org/sanic

    18,624View on GitHub↗

    Sanic is an asynchronous Python web framework designed for building high-performance APIs and services. It operates as a production-ready ASGI web server, utilizing a non-blocking event loop to handle concurrent requests and maximize throughput. The framework is built to support scalable architectures, offering built-in worker process management to distribute traffic across available CPU cores. What distinguishes Sanic is its focus on modularity and developer-centric tooling. It features a blueprint-based system for organizing complex applications into pluggable components, alongside a robust

    Pythonapi-serverasgiasyncio
    View on GitHub↗18,624
  • gofiber/recipesgofiber avatar

    gofiber/recipes

    3,427View on GitHub↗

    This project is a comprehensive library of reference implementations and patterns for building web applications using the Go Fiber framework. It provides curated templates and implementation guides for creating REST APIs, web servers, and structured backend services. The repository serves as a practical resource for applying architectural patterns, including Clean and Hexagonal architectures, as well as port-and-adapter decoupling. It offers detailed examples for integrating common web features such as OAuth2 authentication, JWT verification, WebSockets for real-time communication, and server

    Gocookbookexamplesfiber
    View on GitHub↗3,427
  • 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
Compare all 30 related projects→

Frequently asked questions

What does go-martini/martini do?

Martini is a web framework for the Go programming language that provides a toolkit for building web applications. It functions as a routing engine and an HTTP middleware pipeline to map network requests to specific handler functions.

What are the main features of go-martini/martini?

The main features of go-martini/martini are: Dependency Injection, Go Web Frameworks, Web Application Frameworks, Route Pattern Matching, Dependency Injection Frameworks, Middleware Pipelines, HTTP Request Handlers, Middleware Chains.

Which projects share features with go-martini/martini?

Projects with overlapping indexed features include: dodyg/practical-aspnetcore — This project is a comprehensive sample library and implementation guide for ASP.NET Core. It provides a collection of… sanic-org/sanic — Sanic is an asynchronous Python web framework designed for building high-performance APIs and services. It operates as… gofiber/recipes — This project is a comprehensive library of reference implementations and patterns for building web applications using… kataras/iris — Iris is a high-performance web framework and API toolkit for the Go programming language. It provides the… elixir-plug/plug — Plug is a specification and set of primitives for building composable middleware pipelines in Elixir web applications.… revel/revel — Revel is a full-stack web framework and toolkit for building applications with the Go language. It implements a…