How sekaikerai/shortlistd works
ShortlistD supports student and placement-administrator workflows: authenticate, maintain student profiles, configure recruitment drives and eligibility rules, apply and track application stages, and manage applicants and reporting. The graph follows the documented React-to-Express REST boundary and sampled server route/controller ownership. Several client page internals and some controller implementations were not sampled, so their detailed wiring is represented only where documented or visible in routes.
Main entry points: app.js Express API · App.jsx React App · companyController.js Drive and Eligibility · User.js User Records
Components 26
Student and Admin Portal
- React App
client/src/App.jsx - Session Context
client/src/context/AuthContext.jsx - Student Portal Pages
client/src/pages/CompaniesPage.jsx - Profile Pages
client/src/pages/CompleteProfilePage.jsx - Admin Pages
client/src/pages/AdminDashboardPage.jsx
API and Workflows
- Express API
server/app.js - Auth Routes
server/routes/authRoutes.js - Authentication
server/controllers/authController.js - User Routes
server/routes/userRoutes.js - Profile and Students
server/controllers/userController.js - Company Routes
server/routes/companyRoutes.js - Drive and Eligibility
server/controllers/companyController.js - Eligibility Rules
server/utils/checkEligibility.js - Application Routes
server/routes/applicationRoutes.js - Application Lifecycle
server/controllers/applicationController.js - Placement Analytics
server/controllers/analyticsController.js - Announcements
server/controllers/announcementController.js
Placement Data
- MongoDB
server/config/db.js - User Records
server/models/User.js - Company Records
server/models/Company.js - Application Records
server/models/Application.js - Announcement Records
server/models/Announcement.js
External Services
- Google OAuth
- Email Service
Other components
- Student
- Administrator
Connections 37
- Student → React App: uses portal
- Administrator → React App: uses portal
- React App → Session Context: reads session
- React App → Student Portal Pages: routes students
- React App → Profile Pages: routes profiles
- React App → Admin Pages: routes admins
- Student Portal Pages → Express API: REST requests
- Profile Pages → Express API: REST requests
- Admin Pages → Express API: REST requests
- Express API → Auth Routes: dispatches
- Express API → User Routes: dispatches
- Express API → Company Routes: dispatches
- Express API → Application Routes: dispatches
- Auth Routes → Authentication: dispatches
- User Routes → Profile and Students: dispatches
- User Routes → Placement Analytics: dispatches
- Company Routes → Drive and Eligibility: dispatches
- Application Routes → Application Lifecycle: dispatches
- Express API → Announcements: mounts routes
- Authentication → Google OAuth: verifies token
- Authentication → User Records: finds or creates
- Authentication → Session Context: sets session cookie
- Profile and Students → User Records: updates and reads
- Drive and Eligibility → Company Records: manages drives
- Drive and Eligibility → Eligibility Rules: checks students
- Drive and Eligibility → User Records: reads students
- Drive and Eligibility → Application Records: reads applications
- Application Lifecycle → Company Records: reads drive
- Application Lifecycle → Eligibility Rules: checks applicant
- Application Lifecycle → Application Records: creates and updates
- Placement Analytics → User Records: reads student data
- Announcements → Announcement Records: manages posts
- User Records → MongoDB: persists
- Company Records → MongoDB: persists
- Application Records → MongoDB: persists
- Announcement Records → MongoDB: persists
- Express API → Email Service: email routes