A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework.
C++ CMake C

README.md

Cutelyst - The Qt Web Framework Cutelyst logo

Build Status Windows Build status

A Web Framework built on top of Qt, using the simple and elegant approach of Catalyst (Perl) framework.

Qt's meta object system is what powers the core of Cutelyst, it allows for introspecting controller's methods signatures and generate matching actions that can be invoked later. Main features:

  • Cross-platform
  • Pluggable Engines
    • uWSGI - Multiple protocols support (HTTP 1.0, FastCGI, uWSGI)
    • Cutelyst-WSGI - A cross-platform and fast WSGI engine (HTTP 1.1 and FastCGI both with Pipelining and Keep-Alive support)
  • REST with ActionREST
  • Plugin based views
  • Dispatcher
    • Chained
    • Path
  • Plugins
    • Session
    • Authentication (with PBKDF2)
    • Authorization with RoleACL
    • StatusMessage
    • Validator (to validate user input)
  • Upload parser
  • JSON body as QJsonDocument when uploaded data is in JSON format
  • C++11
  • Chunked reponses (via QIODevice write API)
  • Request profiling/stats
  • Asynchronous processing (optional and dependent on application code)
  • Unit tested
  • QtCreator integration

BENCHMARKS

http://www.techempower.com/benchmarks/

DOCUMENTATION

Get started with our Tutorial or check the API.

COMMUNITY

The Cutelyst project IRC channel is #cutelyst on freenode.

Or you can use the Mailing List

REQUIREMENTS

  • CMake - for the build system (>= 3.1)
  • Qt - the core library of this framework (>= 5.6)

OPTIONAL

  • uWSGI - to receive and parse protocols requests (>= 1.9 recommended)

LICENSE

The library is under the LGPLv2+ and public header files, documentation and examples are under MIT license.