How carloslimamecwide/mecconnect works
MecConnect is a cross-platform Expo app for administrators to manage events, forms, rewards, notifications, users, settings, and support. The main user flow is login, authenticated access to the app, then dashboard overview and navigation into management or communication tasks. Authentication and form/event operations are visible in the sampled source; other major screens are preserved from the repository tree and README, with unverified links marked dashed. The sampled dashboard hook loads event and reward data. The backend’s internal behavior is outside this repository.
Main entry points: forms.tsx Forms · apiClient.ts API clients · login.tsx Login screen · AuthContext.tsx Auth context
Components 31
Access and navigation
- Login screen
app/(auth)/login.tsx - Auth context
src/contexts/AuthContext.tsx - App layout
src/components/layout/AppLayout.tsx
Communication workflows
- Dashboard
app/(app)/(communication)/dashboard.tsx - Events
app/(app)/(communication)/events.tsx - Forms
app/(app)/(communication)/forms.tsx - Notifications
app/(app)/(communication)/notifications.tsx - Rewards
app/(app)/(communication)/rewards.tsx - Communication settings
app/(app)/(communication)/settings.tsx
Administration and support
- User management
app/(app)/(management)/users.tsx - Settings
app/(app)/(management)/settings.tsx - Support
app/(app)/(screens)/support.tsx - Management settings
app/(app)/(management)/settings.tsx
Application services
- Authentication
src/services/authService.ts - API clients
src/services/apiClient.ts - Token storage key
src/constants/storage.ts - Dashboard data
src/hooks/useDashBoard.ts - Events service
src/services/eventsService.ts - Rewards service
src/services/rewardService.ts - Spreadsheet tools
src/services/excelService.ts - Notification service
src/services/notificationService.ts - Support workflow
src/hooks/useSupport.tsx - Support service
src/services/supportService.ts
Shared UI
- Toast context
src/contexts/ToastContext.tsx - Text component
src/components/Common/AppText.tsx - Button component
src/components/Common/Button.tsx - Confirmation modal
src/components/Common/ConfirmModal.tsx - Brand background
src/components/branding/BrandBackground.tsx - Page wrapper
src/components/layout/PageWrapper.tsx
Other components
- Administrator
- Mecwide APIs
Connections 32
- Administrator → Login screen: signs in
- Login screen → Auth context: submits credentials
app/(auth)/login.tsx - Auth context → Authentication: authenticates
src/contexts/AuthContext.tsx - Authentication → API clients: requests auth
src/services/authService.ts - Authentication → Token storage key: uses key
src/services/authService.ts - API clients → Mecwide APIs: sends requests
src/services/apiClient.ts - Dashboard → Dashboard data: loads data
- Dashboard data → Events service: loads events
src/hooks/useDashBoard.ts - Dashboard data → Rewards service: loads rewards
src/hooks/useDashBoard.ts - Events service → API clients: calls API
src/services/eventsService.ts - Rewards service → API clients: calls API
src/services/rewardService.ts - Forms → Events service: manages forms
app/(app)/(communication)/forms.tsx - Forms → Spreadsheet tools: imports exports
app/(app)/(communication)/forms.tsx - Events → Events service: manages events
- Notifications → Notification service: uses service
- Rewards → Rewards service: uses service
- Support → Support workflow: uses workflow
app/(app)/(screens)/support.tsx - Support workflow → Support service: sends request
src/hooks/useSupport.tsx - User management → API clients: uses API
- Settings → Auth context: uses session
- App layout → Toast context: uses context
src/components/layout/AppLayout.tsx - App layout → Brand background: renders background
src/components/layout/AppLayout.tsx - Login screen → Brand background: renders background
app/(auth)/login.tsx - Toast context → Text component: renders toast
- Forms → Toast context: shows feedback
app/(app)/(communication)/forms.tsx - Support workflow → Toast context: shows feedback
src/hooks/useSupport.tsx - Forms → Page wrapper: renders within
app/(app)/(communication)/forms.tsx - Forms → Text component: renders text
app/(app)/(communication)/forms.tsx - Login screen → Button component: renders controls
app/(auth)/login.tsx - Forms → Confirmation modal: uses modal
app/(app)/(communication)/forms.tsx - Support → Confirmation modal: uses modal
app/(app)/(screens)/support.tsx - Management settings → Auth context: uses session