How workoidz/crow-website works
Crow Website is a small C++ web server serving a browser-facing site and REST-style JSON endpoints. The main flow is a browser request reaching the Crow application, being routed to a page, API, or health response, then returned over the network; the frontend JavaScript also exercises the API. Crow’s request parsing, routing, and response types form the useful internal layer. README documents the routes and static-file behavior; source excerpts and the index establish framework relationships, but the route implementations in main.cpp were not excerpted.
Main entry points: main.cpp Web server · routing.h Route dispatch · main.js API interface · public Static site files
Components 12
Browser client
- Browser
- API interface
public/js/main.js
Website application
- Web server
src/main.cpp - Static site files
public
Crow framework
- Route dispatch
include/crow/routing.h - HTTP request
include/crow/http_request.h - HTTP response
include/crow/http_response.h - JSON encoding
include/crow/json.h - CORS middleware
include/crow/middleware.h
Network transport
- Async I/O
include/asio.hpp
Other components
- Visitor
- HTTP clients
Connections 11
- Visitor → Browser: uses
README.md - Browser → Web server: requests pages
README.md - API interface → Web server: tests API
README.md - Web server → Static site files: serves files
README.md - Web server → Route dispatch: configures routes
- Web server → CORS middleware: enables CORS
README.md - HTTP clients → Web server: calls endpoints
README.md - Route dispatch → HTTP request: dispatches request
include/crow/routing.h - Route dispatch → HTTP response: sets response
include/crow/routing.h - Web server → JSON encoding: returns JSON
README.md - Web server → Async I/O: uses I/O
README.md