How marku011/ecoclan works
EcoClan is a cross-platform sustainability app with member and admin experiences, backed by Supabase, plus embedded recycling-station firmware. Members sign in, track household activity, redeem rewards, and use QR passes for deposits and event check-ins. Admins manage claims, events, attendance, and community content. The graph preserves these documented capabilities; detailed wiring is strongest for claim updates, attendance, notifications, and station sorting, since only selected source excerpts were provided.
Main entry points: claimsService.ts Claims service · home.tsx Member home · sort_controller.cpp Sort controller · smartNotificationApi.ts Notification API
Components 28
Member app
- Login and registration
src/app/auth/login_page.tsx - Registration
src/app/auth/registration_page.tsx - Member home
src/app/screens/home.tsx - Rewards and cart
src/app/screens/rewards.tsx - Purchase tracking
src/app/screens/purchases.tsx - Notifications
src/app/screens/notifications.tsx - Member QR pass
src/app/screens/qr.tsx - Member events
src/app/screens/events.tsx - Explore content
src/app/screens/explore.tsx
Admin operations
- Admin dashboard
src/app/admin/dashboard.tsx - Reward administration
src/app/admin/rewards.tsx - Event administration
src/app/admin/events.tsx - Household management
src/app/admin/household.tsx - Reports and analytics
src/app/admin/reports.tsx
Shared services
- App entry
src/app/index.tsx - Claims service
src/components/admin/claimsService.ts - Attendance service
src/lib/eventAttendanceService.ts - Notification API
src/lib/smartNotificationApi.ts - Deposit sessions
src/lib/depositSessionService.ts
Station firmware
- Sort controller
firmware/EcoClanStation/sort_controller.cpp - Sorting sensors
firmware/EcoClanStation/sort_sensors.cpp - Sorter logic
firmware/EcoClanStation/sort_sorter.cpp - Sort gate
firmware/EcoClanStation/sort_gate.cpp - Deposit handling
firmware/EcoClanStation/deposit_handler.cpp - Station backend client
firmware/EcoClanStation/supabase_client.cpp
Other components
- Members
- Admin / staff
- Supabase
Connections 31
- Members → App entry: opens app
- Admin / staff → App entry: opens app
- App entry → Login and registration: routes unauthenticated
- Login and registration → Member home: routes members
- Login and registration → Admin dashboard: routes admins / staff
- Members → Registration: registers
- Member home → Rewards and cart: opens rewards
- Member home → Member events: opens events
- Member home → Explore content: opens explore
- Rewards and cart → Claims service: redeems rewards
- Purchase tracking → Claims service: loads purchases
- Claims service → Supabase: reads / updates claims
- Reward administration → Claims service: manages claims
- Claims service → Notification API: notifies status changes
- Notification API → Supabase: stores notifications
- Notifications → Notification API: loads and marks read
- Notifications → Supabase: subscribes to changes
- Member QR pass → Deposit sessions: starts deposit
- Deposit sessions → Supabase: creates session
- Member events → Member QR pass: presents check-in pass
- Event administration → Attendance service: records scans
- Attendance service → Supabase: reads schedules and saves scans
- Attendance service → Notification API: notifies attendance
- Admin dashboard → Household management: opens household tools
- Admin dashboard → Reports and analytics: opens reports
- Deposit handling → Sort controller: ticks sorting
- Sort controller → Sorting sensors: updates sensors
- Sort controller → Sorter logic: updates sorter
- Sort controller → Sort gate: controls gate
- Deposit handling → Station backend client: submits deposit data
- Station backend client → Supabase: sends station data