How akosiriinieru/securtap works
This is a React Native property and smart-lock administration app backed by Supabase, with Tuya lock integration and push notifications. The main user journey is authentication, then managing properties and guests, operating connected locks, and reviewing entry logs; account settings and notifications support that workflow. App.js owns navigation and session gating. Backend edge functions add lock-event synchronization and lock-status handling. The README was empty, and several screen and function excerpts were partial, so unverified runtime links are shown as dashed rather than assumed.
Main entry points: App.js App navigation · supabase.js Supabase client · notify.ts Notice sender · LockManagementScreen.js Lock management
Components 24
Mobile app
- App navigation
App.js - Sign in
src/screens/LoginScreen.js - Sign up
src/screens/SignUpScreen.js - OTP verification
src/screens/OtpVerificationScreen.js - Password reset
src/screens/ResetPasswordScreen.js - Theme provider
src/context/ThemeContext.js - Network status
src/components/NetworkStatus.js - Settings
src/screens/SettingsScreen.js - Push registration
src/lib/notifications.js
Property management
- Dashboard
src/screens/DashboardScreen.js - Properties
src/screens/PropertiesScreen.js - Guest management
src/screens/GuestsScreen.js - Entry logs
src/screens/EntryLogsScreen.js
Lock services
- Lock management
src/screens/LockManagementScreen.js - Tuya client
src/lib/tuya.js - Lock event sync
supabase/functions/lock-events-sync/index.ts - Lock status function
supabase/functions/tuya-lock-status/index.ts - Tuya shared client
supabase/functions/_shared/tuya.ts
Supabase backend
- Notice sender
supabase/functions/_shared/notify.ts - Supabase client
src/lib/supabase.js
Other components
- Administrator
- Supabase services
- Tuya cloud
- Expo push service
Connections 37
- Administrator → App navigation: opens
- App navigation → Sign in: routes to
App.js - App navigation → Sign up: routes to
App.js - App navigation → Password reset: routes to
App.js - App navigation → Dashboard: shows
App.js - App navigation → Properties: routes to
App.js - App navigation → Guest management: routes to
App.js - App navigation → Lock management: routes to
App.js - App navigation → Entry logs: routes to
App.js - App navigation → Settings: routes to
App.js - App navigation → Theme provider: wraps in
App.js - App navigation → Network status: renders
App.js - Administrator → OTP verification: verifies account
- App navigation → Supabase client: exchanges auth session
App.js - App navigation → Push registration: registers device
App.js - Settings → Push registration: toggles registration
src/screens/SettingsScreen.js - Sign in → Supabase client: uses auth
src/screens/LoginScreen.js - Sign up → Supabase client: uses auth
src/screens/SignUpScreen.js - OTP verification → Supabase client: uses auth
src/screens/OtpVerificationScreen.js - Password reset → Supabase client: uses auth
- Dashboard → Supabase client: loads data
src/screens/DashboardScreen.js - Properties → Supabase client: manages records
src/screens/PropertiesScreen.js - Guest management → Supabase client: manages guests
src/screens/GuestsScreen.js - Entry logs → Supabase client: loads records
src/screens/EntryLogsScreen.js - Lock management → Supabase client: manages lock records
src/screens/LockManagementScreen.js - Lock management → Tuya client: requests lock actions
src/screens/LockManagementScreen.js - Tuya client → Supabase client: invokes function
src/lib/tuya.js - Supabase client → Supabase services: accesses services
- Lock event sync → Tuya shared client: uses client
supabase/functions/lock-events-sync/index.ts - Lock event sync → Notice sender: sends notices
supabase/functions/lock-events-sync/index.ts - Lock status function → Tuya shared client: uses client
- Lock status function → Notice sender: sends notices
supabase/functions/tuya-lock-status/index.ts - Tuya client → Lock status function: invokes
src/lib/tuya.js - Tuya shared client → Tuya cloud: calls API
- Notice sender → Expo push service: sends pushes
supabase/functions/_shared/notify.ts - Push registration → Supabase client: saves device token
src/lib/notifications.js - Notice sender → Supabase services: stores notices and reads tokens
supabase/functions/_shared/notify.ts