# redrmy1/redrmyaio architecture

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

- Interactive diagram: https://gitdiagram.com/redrmy1/redrmyaio
- Repository: https://github.com/redrmy1/redrmyaio

## Overview

Redrmy AIO is a browser-based directory for discovering education providers and their web or app offerings. The main workflow is to browse or search the catalog, refine results, then open a destination; some destinations pass through a portal gate. The app also includes flashcards, quotes, and user preferences, plus a separate movies page and PWA support. Source excerpts confirm search, gating, and local preference storage; the README is empty, and unsampled page markup limits certainty about page wiring.

Main entry points: [`app.js`](https://github.com/redrmy1/redrmyaio/blob/main/app.js) (App logic), [`index.html`](https://github.com/redrmy1/redrmyaio/blob/main/index.html) (Main page), [`sw.js`](https://github.com/redrmy1/redrmyaio/blob/main/sw.js) (Service worker), [`manifest.json`](https://github.com/redrmy1/redrmyaio/blob/main/manifest.json) (PWA manifest)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_directory["Provider directory"]
  node_home["Main page<br/>[index.html]"]
  node_app["App logic<br/>[app.js]"]
  node_movies["Movies page<br/>[movies.html]"]
  node_destinations["Provider destinations"]
end

subgraph group_learning["Learning extras"]
  node_flashcards["Flashcards<br/>[app.js]"]
  node_quotes["Daily quotes<br/>[app.js]"]
end

subgraph group_platform["Browser platform"]
  node_preferences["Saved preferences<br/>[app.js]"]
  node_browser_storage[("Local storage")]
  node_service_worker["Service worker<br/>[sw.js]"]
  node_manifest["PWA manifest<br/>[manifest.json]"]
end

node_visitor(("Visitor"))
node_network["Network"]

node_visitor -->|"browses"| node_home
node_visitor -->|"opens"| node_movies
node_home -->|"loads"| node_app
node_app -->|"opens links"| node_destinations
node_app -->|"reads and writes"| node_browser_storage
node_app -->|"loads cards"| node_flashcards
node_app -->|"shows quotes"| node_quotes
node_flashcards -->|"saves progress"| node_browser_storage
node_quotes -->|"saves index"| node_browser_storage
node_service_worker -->|"fetches requests"| node_network
node_manifest -.->|"supports install"| node_home

click node_home "https://github.com/redrmy1/redrmyaio/blob/main/index.html"
click node_app "https://github.com/redrmy1/redrmyaio/blob/main/app.js"
click node_movies "https://github.com/redrmy1/redrmyaio/blob/main/movies.html"
click node_flashcards "https://github.com/redrmy1/redrmyaio/blob/main/app.js"
click node_quotes "https://github.com/redrmy1/redrmyaio/blob/main/app.js"
click node_preferences "https://github.com/redrmy1/redrmyaio/blob/main/app.js"
click node_service_worker "https://github.com/redrmy1/redrmyaio/blob/main/sw.js"
click node_manifest "https://github.com/redrmy1/redrmyaio/blob/main/manifest.json"

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_home,node_app,node_movies,node_destinations toneBlue
class node_flashcards,node_quotes toneAmber
class node_preferences,node_browser_storage,node_service_worker,node_manifest toneMint
class node_visitor,node_network toneIndigo
```

## Components

### Provider directory

- [Main page](https://github.com/redrmy1/redrmyaio/blob/main/index.html): `index.html`
- [App logic](https://github.com/redrmy1/redrmyaio/blob/main/app.js): `app.js`
- [Movies page](https://github.com/redrmy1/redrmyaio/blob/main/movies.html): `movies.html`
- **Provider destinations**

### Learning extras

- [Flashcards](https://github.com/redrmy1/redrmyaio/blob/main/app.js): `app.js`
- [Daily quotes](https://github.com/redrmy1/redrmyaio/blob/main/app.js): `app.js`

### Browser platform

- [Saved preferences](https://github.com/redrmy1/redrmyaio/blob/main/app.js): `app.js`
- **Local storage**
- [Service worker](https://github.com/redrmy1/redrmyaio/blob/main/sw.js): `sw.js`
- [PWA manifest](https://github.com/redrmy1/redrmyaio/blob/main/manifest.json): `manifest.json`

### Other components

- **Visitor**
- **Network**

## Connections

- Visitor → Main page: browses
- Visitor → Movies page: opens
- Main page → App logic: loads
- App logic → Provider destinations: opens links
- App logic → Local storage: reads and writes
- App logic → Flashcards: loads cards
- App logic → Daily quotes: shows quotes
- Flashcards → Local storage: saves progress
- Daily quotes → Local storage: saves index
- Service worker → Network: fetches requests
- PWA manifest → Main page: supports install
