How tanvir2159/cse1102-project-1 works
VAULT is an interactive C terminal suite: a user enters the shell, dispatches commands to independent rooms, and receives terminal output. Its domain stages include attendance reporting, user lookup, runoff election and leader persistence, leader-gated readability analysis, games, and shared-debt tracking. The shell also provides identity and status commands. The graph follows documented capabilities and the sampled call/file interactions; room implementations not sampled are shown at their documented source paths, without assuming their internal wiring.
Main entry points: shell.c Shell and dispatcher · room_election.c Runoff election · room_readability.c Readability analyzer · room_ledger.c Shared ledger
Components 16
Shell and identity
- Application entry
src/main.c - Shell and dispatcher
src/shell.c - User registry
data/users.txt - Elected leader
Campus records
- Attendance room
src/room_attendance.c - Attendance roster
data/attendance.txt - Records search
src/room_records.c
Election and analysis
- Runoff election
src/room_election.c - Candidate list
data/candidates.txt - Ballots
data/votes.txt - Readability analyzer
src/room_readability.c - Sample text
data/sample.txt
Games and ledger
- Games arcade
src/room_games.c - Shared ledger
src/room_ledger.c - Ledger storage
Other components
- Terminal user
Connections 21
- Terminal user → Application entry: starts
- Application entry → Shell and dispatcher: starts shell
- Terminal user → Shell and dispatcher: enters commands
- Shell and dispatcher → Attendance room: dispatches
- Shell and dispatcher → Records search: dispatches
- Shell and dispatcher → Runoff election: dispatches
- Shell and dispatcher → Readability analyzer: dispatches
- Shell and dispatcher → Games arcade: dispatches
- Shell and dispatcher → Shared ledger: dispatches
- Attendance room → Attendance roster: reads
- Records search → User registry: searches
- Shell and dispatcher → User registry: checks identity
- Shell and dispatcher → Elected leader: reads leader
- Runoff election → Candidate list: loads candidates
- Runoff election → Ballots: loads ballots
- Runoff election → Elected leader: saves winner
- Readability analyzer → Shell and dispatcher: checks leader
- Readability analyzer → Sample text: analyzes text
- Shared ledger → Ledger storage: reads and writes
- Terminal user → Games arcade: plays
- Terminal user → Shared ledger: manages debts