The C4 model is a simple, hierarchical way of visualizing software architecture [1, 2]. It consists of four layers:
System Context: Shows how the system interacts with its environment.
Containers: Defines high-level containers (applications, services, databases) that make up the system.
Components: Focuses on the internal structure of each container, showing the components and how they communicate.
Code: Zooms in on the details of individual components (often omitted in higher-level diagrams). In general, it is not recommended to create this layer, since it can be generated in modern IDEs.
System Context
This diagram visualizes the Naviqore system and its main actors. These actors include the User, Researcher, and Public Transit Agency, which interact with the system, and the GTFS schedule which is provided by the agency.
Container
This diagram breaks down the Naviqore system into its primary containers. These include the Web Application UI and the Service, which depend on the GTFS schedule to fulfill requests.
Component
This diagram drills into the Service container, showing its key internal components such as the RAPTOR, GTFS, REST API, and Public Transit Service.