How neutronica/sysw works
SysW is a condominium water-consumption monitoring app with separate resident and administrator experiences. Users choose a role, enter a login form, and are routed to the corresponding dashboard. Residents can view current usage and bill estimates, review 12-month consumption history, and access unit alerts; administrators can review condominium metrics and alert history and manage units and residents. The sampled screens use local illustrative data and state; no backend or persistent store is evidenced. Unsampled screen capabilities and navigation are represented from the file tree and navigator declarations.
Main entry points: AppNavigator.js Role navigation · ResidentDashboardScreen.js Resident dashboard · AdminDashboardScreen.js Admin dashboard · theme.js Theme and layout
Components 19
App entry
- App bootstrap
index.js - App shell
App.js - Role navigation
navigation/AppNavigator.js
Access flow
- Role selection
screens/RoleSelectionScreen.js - Login form
screens/LoginScreen.js
Resident experience
- Resident dashboard
screens/resident/ResidentDashboardScreen.js - Usage history
screens/resident/ResidentHistoryScreen.js - Resident alerts
screens/resident/ResidentAlertsScreen.js
Administrator experience
- Admin dashboard
screens/admin/AdminDashboardScreen.js - Alert history
screens/admin/AdminAlertsHistoryScreen.js - Management menu
screens/admin/AdminMenuScreen.js - Unit management
screens/admin/AdminUnitsScreen.js - Register unit
screens/admin/AdminRegisterUnitScreen.js - Register resident
screens/admin/AdminRegisterResidentScreen.js - Manage residents
screens/admin/AdminManageResidentsScreen.js - Link units
screens/admin/AdminLinkUnitsScreen.js
Shared UI
- Shared header
components/Header.js - Theme and layout
styles/theme.js
Other components
- App user
Connections 31
- App user → App bootstrap: opens app
- App bootstrap → App shell: registers
- App shell → Role navigation: renders
- Role navigation → Role selection: starts at
- App user → Role selection: chooses role
- Role selection → Login form: opens login
- Login form → Role navigation: routes by role
- Role navigation → Resident dashboard: opens resident tabs
- Role navigation → Usage history: opens history tab
- Role navigation → Resident alerts: opens alerts tab
- Role navigation → Admin dashboard: opens admin tabs
- Role navigation → Alert history: opens alerts tab
- Role navigation → Management menu: opens management stack
- Role navigation → Unit management: routes management
- Role navigation → Register unit: routes management
- Role navigation → Register resident: routes management
- Role navigation → Manage residents: routes management
- Role navigation → Link units: routes management
- Resident dashboard → Usage history: navigates to
- Resident dashboard → Resident alerts: navigates to
- Admin dashboard → Alert history: navigates to
- Admin dashboard → Management menu: opens menu
- Resident dashboard → Shared header: renders
- Usage history → Shared header: renders
- Admin dashboard → Shared header: renders
- Manage residents → Shared header: renders
- Role selection → Theme and layout: uses layout
- Login form → Theme and layout: uses layout
- Resident dashboard → Theme and layout: uses layout
- Usage history → Theme and layout: uses layout
- Admin dashboard → Theme and layout: uses layout