How goshi4058/actis-web works
ACTIS appears to be a railway timetable and staff-information web application, with dataset management, train views, and account/admin areas. The main user flow enters through the React app, selects a dataset, and opens timetable, line, train, or staff views; authenticated users also manage datasets and accounts. Firebase provides authentication and database access, while staff views derive train relationships and render station details. The README is only the Vite template, so product capabilities and connections are inferred conservatively from the tree and available source index; unsampled modules are not assumed to be wired together.
Main entry points: App.jsx Application Router · config.js Firebase Auth and Database · App.tsx Alternate Router · DatasetSelector.jsx Dataset Selector
Components 31
Application
- Application Router
src/App.jsx - Alternate Router
src/App.tsx
Dataset Management
- Dataset Context
src/context/DatasetContext.jsx - Dataset Selector
src/components/dataset/DatasetSelector.jsx - Dataset Manager
src/pages/Datasets.jsx - Shared Dataset
src/pages/SharedDataset.jsx - Data Upload
src/pages/upload.jsx
Railway Views
- Home
src/pages/Home.jsx - Timetable
src/pages/Timetable.jsx - Railway Lines
src/pages/Lines.jsx - Departure Board
src/pages/DepartureBoard.jsx - Train Views
src/pages/trains.jsx - Railway Diagram
src/pages/Diagram.jsx - Train Relations
src/utils/trainRelations.js - OUD2 Parser
src/parser/oud2Parser.js
Staff Operations
- Operation Parser
src/parser/operationParser.js - Staff Details
src/pages/Staff.jsx - Staff Operation
src/pages/StaffOperation.jsx - Staff Roster
src/pages/Roster.jsx - Roster View
src/pages/StaffRoster.jsx - Staff Card
src/components/staff/StaffCard.jsx - Station Table
src/components/staff/StaffTable.jsx - Crew Route Generator
src/pages/CrewRouteGenerator.jsx
Identity and Admin
- Firebase Auth and Database
src/firebase/config.js - Authentication Guard
src/components/AuthGuard.jsx - Admin Guard
src/components/AdminGuard.jsx - Admin Console
src/pages/Admin.jsx - Account
src/pages/Account.jsx - Admin Checks
src/utils/admin.js - Authentication Worker
workers/actis-auth/src/index.js
Other components
- User
Connections 34
- User → Application Router: opens
- Application Router → Home: routes to
src/App.jsx - Application Router → Timetable: routes to
src/App.jsx - Application Router → Railway Lines: routes to
src/App.jsx - Application Router → Dataset Manager: routes to
src/App.jsx - Application Router → Staff Details: routes to
src/App.jsx - Application Router → Staff Operation: routes to
src/App.jsx - Application Router → Crew Route Generator: routes to
src/App.jsx - Application Router → Authentication Guard: protects routes
src/App.jsx - Application Router → Admin Guard: protects routes
src/App.jsx - Application Router → Shared Dataset: routes to
src/App.jsx - Alternate Router → Staff Roster: routes to
src/App.tsx - Alternate Router → Train Views: routes to
src/App.tsx - Alternate Router → Departure Board: routes to
src/App.tsx - Alternate Router → Railway Diagram: routes to
src/App.tsx - Dataset Context → Firebase Auth and Database: reads datasets
src/context/DatasetContext.jsx - Dataset Selector → Dataset Context: selects dataset
src/components/dataset/DatasetSelector.jsx - Dataset Manager → Dataset Context: uses dataset state
src/pages/Datasets.jsx - Timetable → Dataset Selector: renders selector
src/pages/Timetable.jsx - Timetable → Firebase Auth and Database: loads rail data
src/pages/Timetable.jsx - Railway Lines → Dataset Selector: renders selector
src/pages/Lines.jsx - Railway Lines → Firebase Auth and Database: loads line data
src/pages/Lines.jsx - Departure Board → Train Relations: uses relations
src/pages/DepartureBoard.jsx - Staff Details → Train Relations: derives connections
src/pages/Staff.jsx - Staff Details → Staff Card: renders details
src/pages/Staff.jsx - Staff Card → Station Table: renders table
src/components/staff/StaffCard.jsx - Staff Operation → Staff Card: renders details
src/pages/StaffOperation.jsx - Crew Route Generator → Firebase Auth and Database: loads trains and lines
src/pages/CrewRouteGenerator.jsx - Crew Route Generator → Dataset Selector: renders selector
src/pages/CrewRouteGenerator.jsx - Authentication Guard → Firebase Auth and Database: checks user
src/components/AuthGuard.jsx - Admin Guard → Admin Checks: checks admin
src/components/AdminGuard.jsx - Admin Guard → Firebase Auth and Database: checks auth state
src/components/AdminGuard.jsx - Admin Console → Firebase Auth and Database: uses account data
src/pages/Admin.jsx - Account → Firebase Auth and Database: uses account data
src/pages/Account.jsx