How vivekpatil111/infogram works
Infogram is a social-content application: users authenticate, publish and browse posts, follow accounts, interact with activity, and message each other. The frontend App routes to the main experience pages and calls the API client; backend apps provide the corresponding domain capabilities. The excerpts substantiate feed-ranking, visibility filters, follow notifications, and presigned media uploads. Most route handlers and page implementations were not sampled, so several client-to-service links are shown as unverified rather than asserting specific backend dispatch.
Main entry points: App.jsx App shell · api.js API client · views.py Discovery endpoints · querysets.py Safety filters
Components 25
Web client
- App shell
frontend/src/App.jsx - API client
frontend/src/api.js - Profile page
frontend/src/pages/Profile.jsx - Home page
frontend/src/pages/Home.jsx - Explore page
frontend/src/pages/Explore.jsx - Reels page
frontend/src/pages/Reels.jsx - Messages page
frontend/src/pages/Messages.jsx
Accounts and safety
- Accounts and follows
backend/accounts/models.py - Follow transitions
backend/accounts/services.py - Account visibility
backend/accounts/querysets.py - Blocks and mutes
backend/safety/models.py - Safety filters
backend/safety/querysets.py - Notifications
backend/notifications/models.py - Notification service
backend/notifications/services.py
Content and discovery
- Posts and engagement
backend/posts/models.py - Post visibility queries
backend/posts/querysets.py - Feed ranking
backend/posts/ranking.py - Feed snapshots
backend/posts/feed_snapshot.py - Discovery endpoints
backend/discovery/views.py
Messaging and media
- Media endpoints
backend/media_api/views.py - Object storage
backend/media_api/storage.py - Messaging service
backend/messaging/views.py - Realtime messaging
backend/messaging/consumers.py
Other components
- User
- S3-compatible storage
Connections 24
- User → App shell: uses
frontend/src/App.jsx - App shell → API client: calls
frontend/src/App.jsx - App shell → Home page: renders
frontend/src/App.jsx - App shell → Explore page: renders
frontend/src/App.jsx - App shell → Reels page: renders
frontend/src/App.jsx - App shell → Messages page: renders
frontend/src/App.jsx - App shell → Profile page: renders
frontend/src/App.jsx - API client → Accounts and follows: requests
- API client → Discovery endpoints: requests
- API client → Media endpoints: requests
- API client → Messaging service: requests
- API client → Realtime messaging: connects
- Follow transitions → Notification service: creates or removes
backend/accounts/services.py - Follow transitions → Safety filters: checks blocks
backend/accounts/services.py - Notification service → Safety filters: checks blocks
backend/notifications/services.py - Account visibility → Safety filters: filters accounts
backend/accounts/querysets.py - Post visibility queries → Account visibility: applies visibility
backend/posts/querysets.py - Post visibility queries → Safety filters: filters blocked
backend/posts/querysets.py - Discovery endpoints → Account visibility: uses
backend/discovery/views.py - Discovery endpoints → Post visibility queries: uses
backend/discovery/views.py - Discovery endpoints → Feed ranking: uses
backend/discovery/views.py - Discovery endpoints → Feed snapshots: uses
backend/discovery/views.py - Media endpoints → Object storage: uses
- Object storage → S3-compatible storage: signs uploads
backend/media_api/storage.py