How juanospinanz-byte/medi-hora works
Medi-Hora is a mobile app for managing family profiles and medication dose schedules. Users register or sign in, view profiles and their medications, create or edit a profile, then schedule doses with frequency, times, and notes. The app sends requests through a shared authenticated API client to an Express backend, which verifies tokens and reads or writes MySQL data. The README contains no further feature detail, and profile routes, schema, and some screen behavior were not sampled; their connections are shown only where supported by the visible client calls and route registration.
Main entry points: client.js API client · MainScreen.js Family dashboard · App.js App navigation · index.js HTTP server
Components 14
Mobile app
- App navigation
frontend/App.js - Sign in / register
frontend/src/screens/AuthScreen.js - Family dashboard
frontend/src/screens/MainScreen.js - Profile editor
frontend/src/screens/ProfileFormScreen.js - Dose scheduler
frontend/src/screens/ScheduleReminderScreen.js - API client
frontend/src/api/client.js
Backend API
- HTTP server
backend/index.js - Authentication routes
backend/routes/auth.js - Profile routes
backend/routes/profiles.js - Medication routes
backend/routes/medications.js - Token authentication
backend/middleware/auth.js
Persistence
- Database connection
backend/db.js - MySQL database
backend/schema.sql
Other components
- App user
Connections 23
- App user → App navigation: uses
- App navigation → Sign in / register: shows signed out
- App navigation → Family dashboard: shows signed in
- Sign in / register → API client: requests auth
- Sign in / register → App navigation: sets token
- App navigation → API client: sets token
- Family dashboard → API client: loads profiles and meds
- Family dashboard → Profile editor: opens editor
- Family dashboard → Dose scheduler: opens scheduler
- Family dashboard → API client: deletes profile or medication
- Profile editor → API client: profile requests
- Dose scheduler → API client: loads profiles
- Dose scheduler → API client: saves medication
- API client → HTTP server: HTTP requests
- HTTP server → Authentication routes: dispatches auth
- HTTP server → Profile routes: dispatches profiles
- HTTP server → Medication routes: dispatches medications
- Authentication routes → Database connection: queries users
- Medication routes → Token authentication: requires token
- Token authentication → Medication routes: sets user context
- Medication routes → Database connection: queries medications
- Profile routes → Database connection: database access
- Database connection → MySQL database: reads and writes