# ipkn/crow

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/ipkn-crow).**

7,622 stars · 878 forks · C++ · BSD-3-Clause

## Links

- GitHub: https://github.com/ipkn/crow
- awesome-repositories: https://awesome-repositories.com/repository/ipkn-crow.md

## Description

Crow is a minimalist C++ micro web framework designed for building fast web servers and REST APIs. It provides a lightweight toolkit for web development in C++, offering core routing and request handling capabilities.

The framework includes a built-in JSON parser for converting strings into structured data and an HTML template engine for generating dynamic web pages on the server. It also functions as a WebSocket server library to enable bidirectional, real-time communication between servers and web clients.

Additional capabilities include a middleware-based request pipeline for executing shared logic and a handler-based dispatch system that uses typed parameter mapping to route incoming HTTP requests.

## Tags

### Web Development

- [C++ Web Frameworks](https://awesome-repositories.com/f/web-development/c-web-frameworks.md) — Provides a high-performance minimalist web framework for building servers and REST APIs using C++.
- [Micro-frameworks](https://awesome-repositories.com/f/web-development/c-web-frameworks/micro-frameworks.md) — Provides a minimalist C++ micro web framework inspired by Flask for lightweight routing and request handling.
- [Request Middleware](https://awesome-repositories.com/f/web-development/request-middleware.md) — Provides a middleware pipeline for intercepting and processing HTTP requests before they reach the application controller.
- [Request Routing](https://awesome-repositories.com/f/web-development/request-routing.md) — Implements request routing to direct incoming network requests to appropriate handler functions. ([source](https://github.com/ipkn/crow#readme))
- [REST API Frameworks](https://awesome-repositories.com/f/web-development/rest-api-frameworks.md) — Provides a framework for building structured HTTP endpoints that return serialized JSON data for REST APIs.
- [HTTP Routing](https://awesome-repositories.com/f/web-development/routing-systems/http-routing.md) — Provides mechanisms for directing incoming HTTP traffic to specific handlers based on request methods and paths. ([source](https://github.com/ipkn/crow/blob/master/README.md))
- [HTML Templating Engines](https://awesome-repositories.com/f/web-development/html-templating-engines.md) — Includes a templating engine that processes structured templates to generate dynamic HTML content. ([source](https://github.com/ipkn/crow#readme))
- [Handler Dispatchers](https://awesome-repositories.com/f/web-development/routing-systems/routing/matching-algorithms/regex-based-url-dispatchers/handler-dispatchers.md) — Implements a dispatch system that routes incoming HTTP requests to specific handler functions based on URL patterns.
- [Server-Side Rendering](https://awesome-repositories.com/f/web-development/server-side-rendering.md) — Implements server-side rendering to generate static HTML markup from dynamic data before transmission.

### Development Tools & Productivity

- [Request-Response Middleware](https://awesome-repositories.com/f/development-tools-productivity/execution-middleware/request-response-middleware.md) — Allows developers to intercept requests and responses to execute shared logic like authentication and logging. ([source](https://github.com/ipkn/crow#readme))

### Networking & Communication

- [WebSocket Servers](https://awesome-repositories.com/f/networking-communication/distributed-systems-p2p/distributed-computing/communication-protocols/websocket-implementations/websocket-servers.md) — Provides a server-side implementation for managing persistent, bidirectional WebSocket communication channels.
- [Real-Time Web Communication](https://awesome-repositories.com/f/networking-communication/real-time-web-communication.md) — Enables real-time web communication through bidirectional WebSocket connections for live data exchange.
- [JSON Serialization](https://awesome-repositories.com/f/networking-communication/json-serialization.md) — Includes built-in utilities for converting data objects to and from JSON for network transmission.
- [Type-Safe Parameter Mapping](https://awesome-repositories.com/f/networking-communication/url-parameter-parsers/automatic-parameter-mapping/type-safe-parameter-mapping.md) — Automatically parses URL parameters into C++ types to ensure request handlers receive correctly typed arguments.

### Software Engineering & Architecture

- [Request Middleware](https://awesome-repositories.com/f/software-engineering-architecture/request-middleware.md) — Enables the injection of custom logic into the request-response cycle to handle cross-cutting concerns. ([source](https://github.com/ipkn/crow/blob/master/README.md))

### Data & Databases

- [JSON Parsers](https://awesome-repositories.com/f/data-databases/json-parsers.md) — Ships a built-in JSON parser for converting strings into structured data. ([source](https://github.com/ipkn/crow#readme))

### User Interface & Experience

- [HTML Template Renderers](https://awesome-repositories.com/f/user-interface-experience/layout-utilities/presentation-engines/template-engines/server-side-rendering-engines/html-template-renderers.md) — Ships a server-side rendering engine that merges data with predefined HTML templates to generate dynamic pages.

### Part of an Awesome List

- [Web Frameworks](https://awesome-repositories.com/f/awesome-lists/devtools/web-frameworks.md) — Provides a micro-framework for rapid web service development.
