How waasilaasif/social-graph-explorer works
SocialGraphExplorer is a social-network prototype whose main workflow is user interaction through a React UI, REST requests to a Crow backend, domain operations, and JSON-backed state. Its major branches include account/profile management, social graph operations and analytics, and messaging with search and recommendations. The README documents broader features than the sampled implementation excerpts; those capabilities are represented at their documented module paths, while uncertain internal calls are omitted. The graph emphasizes the documented frontend/API boundary and sampled server, route, and user-manager responsibilities.
Main entry points: server.cpp Crow server · api.ts API client · UserManager.cpp User management · App.tsx App routing
Components 25
Web interface
- App routing
frontend/src/App.tsx - Main workspace
frontend/src/pages/MainUI.tsx - Profiles and posts
frontend/src/pages/UserProfile.tsx - Graph explorer
frontend/src/pages/GraphExplorer.jsx - Network analytics
frontend/src/pages/GraphStats.tsx - Popularity board
frontend/src/pages/PopularUsers.tsx - Messaging hub
frontend/src/pages/MessagingHub.jsx - API client
frontend/src/services/api.ts
REST API
- Crow server
backend/api/server.cpp - User routes
backend/api/routes/UserRouter.h - Graph routes
backend/api/routes/graphRoutes.cpp - Algorithm routes
backend/api/routes/algoRoutes.cpp - Message routes
backend/api/routes/MsgRoutes.cpp
Social network
- User management
backend/dsa/user/UserManager.cpp - Friend graph
backend/dsa/graph/Graph.h - Graph algorithms
backend/algorithms - Graph analytics
backend/analytics
Messaging
- Messaging system
backend/messaging/MessagingSystem.cpp - Message search
backend/dsa/messaging_ds/MsgTrie.cpp - Message insights
backend/messaging/MessageAnalytics.cpp - Conversation graph
backend/dsa/messaging_ds/ConversationGraph.cpp
Persistence
- JSON persistence
backend/storage/JSONLoader.cpp - JSON writer
backend/storage/JSONWriter.cpp - JSON data files
Other components
- Network user
Connections 40
- Network user → App routing: uses
- App routing → Main workspace: routes to
- App routing → Profiles and posts: routes to
- App routing → Network analytics: routes to
- App routing → Popularity board: routes to
- Main workspace → Graph explorer: presents
- Main workspace → Messaging hub: presents
- Main workspace → API client: requests data
- Profiles and posts → API client: requests data
- Graph explorer → API client: requests data
- Network analytics → API client: requests data
- Popularity board → API client: requests data
- Messaging hub → API client: requests data
- API client → Crow server: HTTP REST
- Crow server → User routes: registers routes
- Crow server → Graph routes: registers routes
- Crow server → Algorithm routes: registers routes
- Crow server → Message routes: registers routes
- Crow server → User management: initializes
- Crow server → JSON persistence: loads messages
- Crow server → Conversation graph: loads conversations
- User routes → User management: handles users
- Graph routes → Friend graph: updates and reads
- Graph routes → Graph algorithms: runs traversals
- Graph routes → Graph analytics: gets statistics
- Algorithm routes → Graph algorithms: runs recommendations
- Algorithm routes → Graph analytics: gets rankings
- User management → Friend graph: updates friendships
- User management → Graph algorithms: runs BFS
- User management → JSON writer: saves users
- Message routes → Messaging system: handles messaging
- Message routes → Message search: searches messages
- Message routes → Message insights: gets insights
- Message routes → Conversation graph: uses interactions
- Messaging system → Message search: indexes words
- Messaging system → Conversation graph: tracks conversations
- Messaging system → JSON writer: persists messages
- JSON persistence → JSON data files: reads
- JSON writer → JSON data files: writes
- User management → JSON persistence: loads users