How shriyapancholi/miniblog works
MiniBlog is a full-stack social blogging platform. Users authenticate, create and discover posts, and interact through follows, comments, reactions, notifications, and messaging; profiles, subscriptions, search, analytics, and administration extend that workflow. The React app routes users to these features and calls the Express API; the server-side domain handlers use MongoDB models, with Elasticsearch, Socket.IO, S3, Razorpay, and OpenAI supporting documented capabilities. Some route/controller implementations were not sampled, so the graph omits uncertain wiring and shows only evidenced connections for those areas.
Main entry points: App.jsx App routes · axios.js API client · Post.js MongoDB models · app.js Express app
Components 23
React client
- App routes
miniblog/frontend/src/App.jsx - API client
miniblog/frontend/src/api/axios.js - Post and feed pages
miniblog/frontend/src/pages/Dashboard.jsx - Profiles and social pages
miniblog/frontend/src/pages/UserProfile.jsx - Search and analytics
miniblog/frontend/src/pages/SearchResults.jsx - Inbox and chat
miniblog/frontend/src/pages/Chat.jsx
HTTP API
- Express app
miniblog/backend/src/config/app.js - Post routes
miniblog/backend/src/routes/posts.js - Auth routes
miniblog/backend/src/routes/auth.js - Search routes
miniblog/backend/src/routes/search.js
Social domain
- Post handling
miniblog/backend/src/controllers/postController.js - Follow handling
miniblog/backend/src/controllers/followController.js - Profile handling
miniblog/backend/src/controllers/profileController.js - Administration
miniblog/backend/src/controllers/adminController.js - MongoDB models
miniblog/backend/src/models/Post.js
Realtime and integrations
- Socket server
miniblog/backend/server.js - Search indexing
miniblog/backend/src/services/searchService.js - Elasticsearch
miniblog/backend/src/config/elasticsearch.js - Image storage
miniblog/backend/src/config/s3.js - AI chatbot
miniblog/backend/src/controllers/chatController.js - OpenAI
- Razorpay subscriptions
miniblog/backend/src/controllers/subscriptionController.js
Other components
- User
Connections 23
- User → App routes: uses
- App routes → Post and feed pages: routes to
- App routes → Profiles and social pages: routes to
- App routes → Search and analytics: routes to
- App routes → Inbox and chat: routes to
- Post and feed pages → API client: requests data
- Profiles and social pages → API client: requests data
- Search and analytics → API client: requests data
- Inbox and chat → API client: requests data
- API client → Express app: sends requests
- Express app → Post routes: mounts
- Express app → Auth routes: mounts
- Express app → Search routes: mounts
- Post handling → MongoDB models: reads and writes
- Follow handling → MongoDB models: reads and writes
- Profile handling → MongoDB models: reads and writes
- Administration → MongoDB models: reads and writes
- Post handling → Search indexing: indexes posts
- Profile handling → Search indexing: indexes users
- Search indexing → Elasticsearch: indexes and searches
- Socket server → MongoDB models: stores messages and status
- AI chatbot → OpenAI: requests completions
- Razorpay subscriptions → Razorpay subscriptions: handles subscriptions