PROJECT DOSSIER // [ZIA]VIEW SOURCEBACK TO PROJECTS →

01 // PROJECT AT A GLANCE

ZIA

C++

A web server written from scratch, all of whose features are hot-loaded modules.

Writing a complete web server, able to serve pages over HTTP as well as HTTPS. What makes it distinctive: the server itself can barely do anything. All its capabilities — serving a file, running PHP, logging, encrypting — are separate modules you enable in a configuration file, and which reload by themselves when you edit that file, without ever restarting the server.

An HTTP/HTTPS server in C++ with a pipeline architecture of dynamically loaded modules, JSON configuration hot-reloaded through file watching, twelve modules provided.

PRIMARYC++
DELIVERYTEAM RECORD
VERIFICATIONGoogleTest
SOURCEINSPECTOR READY
MEDIA ATTACHMENTS (Images, Photos, Videos)

03 // KEY OUTCOMES

  • Hot reloading of modules and configuration, with no restart
  • Twelve modules, including a PHP CGI gateway and a TLS layer
  • A documented module API, letting new ones be written without touching the core

BEYOND THE BRIEF

  • Hot reloading of the configuration and the modules, not required, which makes it possible to modify the server without stopping it
  • A Docker image and a launch script (run.sh)
  • API documentation (docs/api.md) and a Doxyfile for generated documentation
  • A shell test client (tests/client.sh) with sample requests
  • GoogleTest tests

04 // SOURCE TREE

READING SOURCE…