How rohit-48566/smart-placements-assistance works
Smart Placement Assistance serves students with company and placement information through analytics pages and an AI chatbot, while administrators maintain placement, company-statistics, and insights data. The frontend routes users to these features and communicates with a FastAPI backend; backend handlers delegate to domain services, which use ChromaDB and, for chatbot answers, embedding/NLP and an Ollama model. The chatbot and controller paths are supported by sampled source; frontend API wiring and several service implementations were not sampled, so those connections are shown only at the supported module boundary.
Main entry points: chatbot_service.py Chatbot answering · user_routes.py User routes · App.js Frontend router · app.py FastAPI app
Components 22
Student and admin UI
- Frontend router
frontend/src/App.js - Student pages
frontend/src/pages - Admin pages
frontend/src/pages/admin - API client
frontend/src/services/api.js
Backend API
- FastAPI app
backend/app.py - User routes
backend/routes/user_routes.py - Auth routes
backend/routes/auth_routes.py - Chatbot handler
backend/controllers/chatbot_controller.py - Dashboard handler
backend/controllers/dashboard_controller.py - Insights handler
backend/controllers/company_insights_controller.py - Login handler
backend/controllers/auth_controller.py
Domain services
- Chatbot answering
backend/services/chatbot_service.py - Dashboard data
backend/services/dashboard_service.py - Company insights
backend/services/company_insights_service.py - Token creation
backend/services/auth_service.py
Data and AI
- ChromaDB collections
backend/database.py - Embedding model
backend/utils/embedding_model.py - Entity extraction
backend/utils/nlp.py - Response cache
backend/utils/cache.py
Other components
- Student
- Administrator
- Ollama model
Connections 24
- Student → Frontend router: uses
- Administrator → Frontend router: uses
- Frontend router → Student pages: routes to
- Frontend router → Admin pages: routes to
- Student pages → API client: requests data
- Admin pages → API client: manages data
- API client → FastAPI app: calls API
- FastAPI app → User routes: mounts
- FastAPI app → Auth routes: mounts
- User routes → Chatbot handler: mounts
- User routes → Dashboard handler: mounts
- User routes → Insights handler: mounts
- Chatbot handler → Chatbot answering: calls
- Dashboard handler → Dashboard data: calls
- Insights handler → Company insights: calls
- Auth routes → Login handler: mounts
- Login handler → Token creation: creates token
- Chatbot answering → ChromaDB collections: queries collections
- Chatbot answering → Embedding model: encodes query
- Chatbot answering → Entity extraction: extracts entities
- Chatbot answering → Response cache: checks and sets
- Chatbot answering → Ollama model: sends prompt
- Dashboard data → ChromaDB collections: accesses collections
- Company insights → ChromaDB collections: accesses collections