How kalkitarun1120/campus-ai works
CampusIQ+ is a role-based university management platform. Admins, faculty, and students use the React application to access secured campus services; the backend exposes REST APIs for academic records, fees, analytics, and communication. The result-publishing path is evidenced in the sampled controller and service: faculty or admins publish marks, which are calculated and stored, while students can retrieve results and GPA. The README documents the other major capabilities; their exact internal wiring is not shown in the excerpts, so the graph avoids asserting unverified service calls.
Main entry points: App.js Role-based routes · api.js API client · FeePage.jsx Fee payment page · AuthService.java Authentication service
Components 27
Web application
- Role-based routes
frontend/src/App.js - Auth state
frontend/src/context/AuthContext.js - API client
frontend/src/services/api.js - Role dashboards
frontend/src/pages - Academic pages
frontend/src/pages - Fee payment page
frontend/src/pages/fees/FeePage.jsx - AI pages
frontend/src/pages/ai
Identity and access
- Authentication API
backend/src/main/java/com/campusiq/controller/AuthController.java - Authentication service
backend/src/main/java/com/campusiq/service/AuthService.java - User lookup
backend/src/main/java/com/campusiq/security/CustomUserDetailsService.java - JWT security
backend/src/main/java/com/campusiq/security - User records
backend/src/main/java/com/campusiq/repository/UserRepository.java
Academic records
- Results API
backend/src/main/java/com/campusiq/controller/ResultController.java - Results and GPA
backend/src/main/java/com/campusiq/service/ResultService.java - Result records
backend/src/main/java/com/campusiq/repository/ResultRepository.java
Campus services
- Campus APIs
backend/src/main/java/com/campusiq/controller - Campus services
backend/src/main/java/com/campusiq/service - Campus records
backend/src/main/java/com/campusiq/entity
AI assistance
- Chatbot API
backend/src/main/java/com/campusiq/controller/ChatbotController.java - Campus chatbot
backend/src/main/java/com/campusiq/service/AIChatbotService.java - Local language model
backend/src/main/java/com/campusiq/service/OllamaService.java
Other components
- Admin
- Faculty
- Student
- Ollama
- Razorpay
- Firebase push
Connections 29
- Admin → Role-based routes: uses
- Faculty → Role-based routes: uses
- Student → Role-based routes: uses
- Role-based routes → Auth state: manages access
- Role-based routes → Role dashboards: routes to
- Role-based routes → Academic pages: routes to
- Role-based routes → Fee payment page: routes to
- Role-based routes → AI pages: routes to
- Auth state → API client: requests
- Role dashboards → API client: requests
- Academic pages → API client: requests
- Fee payment page → API client: requests
- AI pages → API client: requests
- API client → Authentication API: calls REST
- API client → Campus APIs: calls REST
- API client → Results API: calls REST
- Authentication API → Authentication service: delegates
- Authentication service → User records: reads and writes
- Authentication service → JWT security: creates tokens
- User lookup → User records: looks up users
- Results API → Results and GPA: delegates
- Results and GPA → Result records: reads and writes
- Results and GPA → Campus records: uses academic entities
- Campus APIs → Campus services: serves campus operations
- Chatbot API → Campus chatbot: delegates
- Campus chatbot → Local language model: requests generation
- Local language model → Ollama: sends prompt
- Fee payment page → Razorpay: pays fees
- Campus services → Firebase push: sends notifications