# basliel-sisay/info-site architecture

> Architecture diagram of the GitHub repository basliel-sisay/info-site, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/basliel-sisay/info-site
- Repository: https://github.com/basliel-sisay/info-site

## Overview

Odin Info Site is a small static multi-page website served by a hand-written Node.js HTTP server. A browser requests a route; `info.js` selects and reads the matching page, serves the shared stylesheet on its own route, or returns the custom 404 with status 404 for unknown routes. File-read errors produce a plain-text 500 response. The README documents responsive and accessible page features; source excerpts here show server behavior but not the HTML or CSS details.

Main entry points: [`info.js`](https://github.com/basliel-sisay/info-site/blob/main/info.js) (Router and file server), [`index.html`](https://github.com/basliel-sisay/info-site/blob/main/index.html) (Home page), [`about.html`](https://github.com/basliel-sisay/info-site/blob/main/about.html) (About page), [`contact-me.html`](https://github.com/basliel-sisay/info-site/blob/main/contact-me.html) (Contact page)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_server["HTTP server"]
  node_server_code["Router and file server<br/>[info.js]"]
end

subgraph group_content["Site content"]
  node_home["Home page<br/>[index.html]"]
  node_about["About page<br/>[about.html]"]
  node_contact["Contact page<br/>[contact-me.html]"]
  node_not_found["404 page<br/>[404.html]"]
  node_stylesheet["Shared styles<br/>[styles.css]"]
end

node_browser(("Browser"))

node_browser -->|"requests routes"| node_server_code
node_server_code -->|"reads for /"| node_home
node_server_code -->|"reads for /about.html"| node_about
node_server_code -->|"reads for /contact-me.html"| node_contact
node_server_code -->|"reads for /styles.css"| node_stylesheet
node_server_code -->|"reads for unknown routes"| node_not_found
node_server_code -->|"returns page or error response"| node_browser
node_browser -->|"requests stylesheet"| node_server_code

click node_server_code "https://github.com/basliel-sisay/info-site/blob/main/info.js"
click node_home "https://github.com/basliel-sisay/info-site/blob/main/index.html"
click node_about "https://github.com/basliel-sisay/info-site/blob/main/about.html"
click node_contact "https://github.com/basliel-sisay/info-site/blob/main/contact-me.html"
click node_not_found "https://github.com/basliel-sisay/info-site/blob/main/404.html"
click node_stylesheet "https://github.com/basliel-sisay/info-site/blob/main/styles.css"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_server_code,node_browser toneBlue
class node_home,node_about,node_contact,node_not_found,node_stylesheet toneAmber
```

## Components

### HTTP server

- [Router and file server](https://github.com/basliel-sisay/info-site/blob/main/info.js): `info.js`

### Site content

- [Home page](https://github.com/basliel-sisay/info-site/blob/main/index.html): `index.html`
- [About page](https://github.com/basliel-sisay/info-site/blob/main/about.html): `about.html`
- [Contact page](https://github.com/basliel-sisay/info-site/blob/main/contact-me.html): `contact-me.html`
- [404 page](https://github.com/basliel-sisay/info-site/blob/main/404.html): `404.html`
- [Shared styles](https://github.com/basliel-sisay/info-site/blob/main/styles.css): `styles.css`

### Other components

- **Browser**

## Connections

- Browser → Router and file server: requests routes
- Router and file server → Home page: reads for /
- Router and file server → About page: reads for /about.html
- Router and file server → Contact page: reads for /contact-me.html
- Router and file server → Shared styles: reads for /styles.css
- Router and file server → 404 page: reads for unknown routes
- Router and file server → Browser: returns page or error response
- Browser → Router and file server: requests stylesheet
