The C framework for web
Affordable, productive and versatile platform for creating web resources
Clone the repository, build the project with the database drivers you need and launch the server with a single command.
git clone https://github.com/fraxer/C-web-framework.git
cd C-web-framework/backend
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release \
-DINCLUDE_POSTGRESQL=yes \
-DINCLUDE_MYSQL=yes \
-DINCLUDE_REDIS=yes \
-DINCLUDE_SQLITE=yes
cmake --build . -j$(nproc)
./exec/cpdy -c /path/to/config.json{
"/": {
"GET": {
"file": "handlers/libindexpage.so",
"function": "index"
}
}
}#include "http.h"
void index(httpctx_t* ctx) {
ctx->response->send_data(
ctx->response,
"Hello world!"
);
}A handler is just a function — Each route loads a handler from a .so library. Read the request, build the response — nothing else to wire up.
Build & run guide →A complete toolkit for modern web services — protocols, databases, security and utilities out of the box.
A complete HTTP/1.1 server and client — routing, virtual hosts, middleware and TLS.
Bidirectional real-time channels with broadcasting and named recipient groups.
PostgreSQL, MySQL, SQLite and Redis behind one unified API with ORM and migrations.
Authentication, sessions, RBAC, rate limiting and modern password hashing.
Local and S3 storage plus transactional email with DKIM.
Template engine, i18n, JSON, JWT, task scheduler and the str_t / HashMap toolkit.
High-performance APIs for mobile and web applications
Chats, notifications and live updates via WebSocket
Microservices and monolithic applications
Request routing and proxying between services
Authentication, RBAC and CRUD operations
Local and S3-compatible cloud storage
Transactional email sending with DKIM
Multilingual content with gettext and pluralization
Read the introduction, browse the examples, or open the source on GitHub.