# maxgmoon/necstin-list architecture

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

- Interactive diagram: https://gitdiagram.com/maxgmoon/necstin-list
- Repository: https://github.com/maxgmoon/necstin-list

## Overview

Necstin List is a Revit collaboration plugin centered on coordinating users’ synchronization through a waiting list. The README describes user registration, per-model CSV storage, synchronization event logging, notifications, and configuration utilities. Because the tree contains only the README and no source excerpts, repository component paths and undocumented call relationships cannot be established; component paths are therefore null, and the graph includes only documented relationships.

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_queue["Waiting list"]
  node_join["Join List"]
  node_waitlist["Waiting list"]
end

subgraph group_storage["Model files"]
  node_registration["User registration"]
  node_usersdb["UsersDB CSV"]
  node_modelconfig["Configuration files"]
  node_cloudfolder["Cloud folder selection"]
end

subgraph group_monitor["Sync monitoring"]
  node_sync["Synchronization"]
  node_eventmonitor["EventMonitor"]
  node_eventslog["EventsLog"]
end

subgraph group_notices["Notifications"]
  node_imagechoice["User image choice"]
  node_imagejson["Image JSON"]
  node_notification["Notifications"]
  node_custommessage["Custom message"]
end

node_user(("Revit user"))
node_revit["Revit model"]
node_utilities["Other utilities"]

node_user -->|"requests place"| node_join
node_join -->|"joins"| node_waitlist
node_revit -->|"synchronizes"| node_sync
node_sync -->|"advances queue"| node_waitlist
node_user -->|"provides name"| node_registration
node_registration -->|"stores mapping"| node_usersdb
node_join -.->|"requests folder"| node_cloudfolder
node_cloudfolder -.->|"locates files"| node_waitlist
node_sync -->|"records events"| node_eventslog
node_user -->|"chooses image"| node_imagechoice
node_imagechoice -->|"saves image"| node_imagejson
node_notification -->|"reads image"| node_imagejson
node_eventmonitor -->|"displays message"| node_custommessage
node_user -->|"views notices"| node_eventmonitor

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_join,node_waitlist,node_user toneBlue
class node_registration,node_usersdb,node_modelconfig,node_cloudfolder toneAmber
class node_sync,node_eventmonitor,node_eventslog toneMint
class node_imagechoice,node_imagejson,node_notification,node_custommessage toneRose
class node_revit,node_utilities toneIndigo
```

## Components

### Waiting list

- **Join List**
- **Waiting list**

### Model files

- **User registration**
- **UsersDB CSV**
- **Configuration files**
- **Cloud folder selection**

### Sync monitoring

- **Synchronization**
- **EventMonitor**
- **EventsLog**

### Notifications

- **User image choice**
- **Image JSON**
- **Notifications**
- **Custom message**

### Other components

- **Revit user**
- **Revit model**
- **Other utilities**

## Connections

- Revit user → Join List: requests place
- Join List → Waiting list: joins
- Revit model → Synchronization: synchronizes
- Synchronization → Waiting list: advances queue
- Revit user → User registration: provides name
- User registration → UsersDB CSV: stores mapping
- Join List → Cloud folder selection: requests folder
- Cloud folder selection → Waiting list: locates files
- Synchronization → EventsLog: records events
- Revit user → User image choice: chooses image
- User image choice → Image JSON: saves image
- Notifications → Image JSON: reads image
- EventMonitor → Custom message: displays message
- Revit user → EventMonitor: views notices
