How sakin08/sust-connect works
SUST Connect is a campus social and services platform. Students and staff enter through the React app to use social, marketplace, academic, event, and campus-resource features; the frontend communicates with an Express API backed by MongoDB. Messaging also uses Socket.IO for live delivery and status updates, while administration supports user and content oversight. The README documents the broader feature set; sampled source confirms app routing, saved-post persistence, election operations, admin actions, and socket message handling, but not every feature’s internal wiring.
Main entry points: app.js Express API · App.jsx React application · socketHandler.js Socket handlers · User.js User records
Components 22
Web client
- React application
frontend/src/App.jsx - API clients
frontend/src/api - Auth context
frontend/src/context/AuthContext.jsx - Chat interface
frontend/src/pages/Chat.jsx
API and identity
- Express API
backend/app.js - Auth routes
backend/routes/authRoutes.js - Auth logic
backend/controllers/authController.js - User records
backend/models/User.js - MongoDB data
backend/config/db.js
Community services
- Social and feed
backend/controllers/postController.js - Saved posts
backend/routes/savedPostRoutes.js - Marketplace
backend/controllers/buySellController.js - Events and calendar
backend/controllers/eventController.js - Academic tools
backend/controllers/studyGroupController.js - Campus services
backend/controllers/bloodDonorController.js - Digital elections
backend/controllers/electionController.js
Realtime messaging
- Socket handlers
backend/socket/socketHandler.js - Message records
backend/models/Message.js
Administration
- Admin console
frontend/src/pages/AdminPanel.jsx - Admin routes
backend/routes/adminRoutes.js - Admin operations
backend/controllers/adminController.js
Other components
- Campus users
Connections 24
- Campus users → React application: use
- React application → API clients: request data
- React application → Auth context: use identity
- API clients → Express API: HTTP requests
- Express API → Auth routes: mounts
- Auth routes → Auth logic: dispatch
- Auth logic → User records: read and write
- User records → MongoDB data: persist
- Express API → Social and feed: dispatches social APIs
- Express API → Saved posts: mounts saved-post APIs
- Saved posts → User records: read and update
- Express API → Marketplace: dispatches marketplace APIs
- Express API → Events and calendar: dispatches event APIs
- Express API → Academic tools: dispatches study-group APIs
- Express API → Campus services: dispatches service APIs
- Express API → Digital elections: dispatches election APIs
- Digital elections → MongoDB data: read and write election data
- Chat interface → Socket handlers: send and receive
- Socket handlers → Message records: create and update
- Socket handlers → Campus users: deliver live events
- Campus users → Admin console: administer
- Admin console → Admin routes: admin requests
- Admin routes → Admin operations: dispatch
- Admin operations → MongoDB data: query and update records