How dragonrichi/testvseti works
Vseti is a location-aware social application with profiles, posts and comments, publication/tracking radars, nearby geo chats, and direct messaging. The tree indicates a user workflow from social pages into domain-specific components and actions, with Supabase-backed services for authentication, data, realtime updates, and media. Sampled code confirms several client-to-action calls and media-storage paths; most page wiring and domain action implementations were not sampled, so those connections are left out rather than inferred.
Main entry points: route.ts Profile media API · client.ts Supabase client · useProfileEditForm.ts Profile editing · useGeoChatMessageSubmit.ts Message submission
Components 28
App experience
- Social pages
app/(social) - Social layout
components/Layout/SocialLayout.tsx - Authentication UI
components/Auth/AuthForm.tsx
Social content
- Feed UI
components/Feed/GeoFeed.tsx - Feed pagination
components/Feed/useInfinitePostFeed.ts - Posts and profiles
components/Profile/ProfileFeed.tsx - Comments
components/Profile/CommentsSection.tsx - Radars
components/Radar/RadarFeed.tsx - Profile editing
components/Settings/useProfileEditForm.ts - Reply loading action
actions/getCommentReplies.ts - Profile update action
actions/updateProfile.ts
Location features
- Geo chat pages
app/(social)/geochats - Geo chat room
components/GeoChat/GeoChatRoom.tsx - Message submission
components/GeoChat/useGeoChatMessageSubmit.ts - Live chat updates
components/GeoChat/useGeoChatRealtime.ts - Chat media
lib/geochats/uploadGeoChatMedia.ts - Geo message action
actions/getGeoChatMessages.ts
Messaging
- Direct-message pages
app/(social)/messages - Conversation search
components/Messages/useDirectConversationSearch.ts - Unread tracking
components/Messages/useUnreadDirectMessagesCount.ts - Conversation action
actions/getDirectConversations.ts - Message search action
actions/searchDirectMessages.ts
Backend services
- Profile media API
app/api/profile-media/route.ts - Supabase client
lib/supabase/client.ts - Supabase server client
lib/supabase/server.ts - Supabase admin client
lib/supabase/admin.ts
Other components
- User
- Supabase
Connections 19
- User → Social pages: visits
- Social pages → Social layout: renders
- User → Authentication UI: signs in
- Feed pagination → Feed UI: supplies pages
- Comments → Reply loading action: loads replies
- Message submission → Geo message action: sends messages
- Message submission → Chat media: uploads media
- Live chat updates → Geo message action: refreshes messages
- Live chat updates → Supabase client: subscribes
- Conversation search → Message search action: searches messages
- Unread tracking → Conversation action: loads conversations
- Unread tracking → Supabase client: subscribes
- Profile editing → Profile update action: updates profile
- Profile editing → Profile media API: uploads media
- Profile media API → Supabase server client: authenticates
- Profile media API → Supabase admin client: manages storage
- Supabase client → Supabase: connects
- Supabase server client → Supabase: connects
- Supabase admin client → Supabase: connects