How i-am-navaneeth/eggpuff-web works
EggPuff is a Next.js campus social and discovery app: its tree includes a personalized question feed, Q&A, communities, profiles, campus matching, resources, creator promotions, notifications, and administration. The map preserves these product areas and the sampled internal UI/data layer. Source evidence is limited: several product routes and subsystems were not sampled, so their connections are omitted rather than inferred.
Main entry points: QuestionScreen.tsx Question detail · ProfileScreen.tsx Profile screen · AdminClient.tsx Admin console · route.ts Scheduled delivery
Components 23
Feed & Discovery
- Question feed
app/(shell)/feed/page.tsx - Feed loading
components/feed/hooks/useFeedInitialLoad.ts - Question detail
components/QuestionScreen.tsx - Answer cards
components/AnswerCard.tsx - Search
components/SearchScreen.tsx - Ask questions
app/(shell)/ask/page.tsx
Community & Profiles
- Community detail
app/(shell)/communities/[slug]/page.tsx - Profile screen
components/ProfileScreen.tsx - Profile route
app/(shell)/u/[username]/page.tsx
Campus Features
- Campus matching
components/campus-match/MatchRoom.tsx - Browse matches
components/campus-match/BrowseMatches.tsx
Resources & Creators
- Resource library
app/(misc)/resources/page.tsx - Resource upload
app/(fullscreen)/upload-resource/page.tsx - PDF reader
components/reader/Reader.tsx - Creator promotions
components/pyp/CreatorHub.tsx
Notifications & Platform
- Admin console
app/(misc)/admin$$$db/AdminClient.tsx - Notification center
components/NotificationProvider.tsx - Browser push setup
lib/pushClient.ts - Scheduled delivery
app/api/cron/notifications/route.ts - Link preview API
app/api/link-preview/route.ts
Other components
- Campus user
- Supabase
- Browser push service
Connections 14
- Feed loading → Supabase: queries feed data
components/feed/hooks/useFeedInitialLoad.ts - Question detail → Supabase: loads question data
components/QuestionScreen.tsx - Question detail → Answer cards: renders answers
components/QuestionScreen.tsx - Profile screen → Supabase: reads profile data
components/ProfileScreen.tsx - Profile screen → Question detail: renders question cards
components/ProfileScreen.tsx - Community detail → Supabase: uses data client
app/(shell)/communities/[slug]/page.tsx - Resource upload → Supabase: uses data client
app/(fullscreen)/upload-resource/page.tsx - Notification center → Supabase: reads notifications
components/NotificationProvider.tsx - Browser push setup → Supabase: stores subscription
lib/pushClient.ts - Admin console → Supabase: manages records
app/(misc)/admin$$$db/AdminClient.tsx - Admin console → Browser push service: requests push send
app/(misc)/admin$$$db/AdminClient.tsx - Scheduled delivery → Supabase: loads and updates schedules
app/api/cron/notifications/route.ts - Scheduled delivery → Browser push service: dispatches notification
app/api/cron/notifications/route.ts - Link preview API → Supabase: none