How abhi-148/up-student-ai-copilot works
1. This is a single-page React application built with Vite. The runtime entry points are src/main.jsx and src/App.jsx, with global styling coming from src/index.css, src/App.css, Tailwind config, and the custom src/styles/glass.css theme layer.
2. The app is organized primarily as a route-driven product experience. The src/pages directory holds the top-level screens, while src/components contains reusable UI and domain widgets that are composed into those screens. For an architecture diagram, treat pages as the boundary between navigation-level views and components as the presentation/service widgets underneath them.
3. The product domain is education and career guidance, not a generic dashboard. The page set shows distinct workflows for students, parents, admins, schools, coaching institutes, and district-level intelligence. That makes the application more like a multi-tenant decision-support portal than a simple consumer app.
4. The student journey appears to start at onboarding and welcome/login flows, then move into planning and decision screens such as Dashboard, StudentOnboarding, CareerMap, CareerMapAfter9th, AIDailyTimetable, StudyProgress, and StudentPlanner. These screens likely feed recommendation and progress-tracking components for daily and long-term guidance.
5. The parent-facing area is separate and summarized through ParentView and ParentWeeklySummary, with supporting notification and planning widgets. This suggests a secondary read-only/oversight experience layered over the student guidance data, rather than a fully independent parent workflow.
6. The admin and institution side is also explicitly modeled. Pages like AdminDashboard, AdminLogin, InstituteSelect, CoachingAnalytics, CoachingComparison, SchoolLeaderboard, and DistrictTrustScore indicate management and comparison flows for schools/coaching institutes, with KPI-style metrics and trust/ROI analysis.
7. A major subsystem is the “AI / decision engine” feature set in src/components. Components such as CareerDecisionEngine, BestInstituteMatch, InstituteComparisonAI, DistrictCareerScore, DistrictHeatmap, AIInsight, AIRecommendation, AISimulation, SmartExamStrategy, and LocalAlternativeAI indicate a recommendation/scoring layer surfaced as UI modules. The repo does not show a dedicated backend ML service, so these appear to be front-end orchestration and visualization layers around heuristic or API-driven intelligence.
8. There is a clear data boundary between static/reference content and dynamic UI. src/data/schools.js and src/data/coachings.jsx hold domain datasets that likely power comparison, scoring, and listing screens. This makes the app partially data-driven even without a visible database layer in the repository.
9. External communication is abstracted behind src/services/api.js. That file is the main architectural seam for backend or third-party calls, and it is the likely integration point for authentication, AI responses, or fetched analytics. No other server code is present, so the frontend is the visible system and the API layer is the outbound boundary.
10. Internationalization is built into the UI architecture. src/context/LanguageContext.jsx and src/utils/i18n.js, plus the LanguageToggle component, show that language selection is a shared cross-cutting concern affecting many screens. In a diagram, this should be shown as a context/provider layer feeding text and labels across the app.
11. Navigation and shell components form the app scaffold: Navbar, TopNav, Sidebar, NotificationPanel, FocusMode, and StatCard provide persistent layout and common interaction patterns. These components are reused across pages to keep the experience consistent while the main content changes by workflow.
12. Overall, the architecture is a frontend-only, modular React portal with three main layers: route pages, reusable domain widgets, and shared context/service utilities. The key data flow is: static/reference data and API responses feed the decision/recommendation components, which then render persona-specific views for students, parents, institutions, and district administrators.
Main entry points: App.jsx App · CareerDecisionEngine.jsx Decision engine · CoachingAnalytics.jsx Coaching analytics · DistrictCareerIntelligence.jsx District intelligence
Components 26
Runtime shell
Vite entry, app bootstrap, global styling, and language context.
- main · Bootstraps the React app.
src/main.jsx - App · Top-level app composition and route orchestration.
src/App.jsx - Language context · Shared language state for the UI.
src/context/LanguageContext.jsx - i18n utils · Language and copy lookup utilities.
src/utils/i18n.js
Route pages
Top-level screens organized by persona and workflow.
- Welcome · Landing and welcome flow.
src/pages/Welcome.jsx - Login · Sign-in flow for the portal.
src/pages/Login.jsx - Student onboarding · Initial student setup and profile capture.
src/pages/StudentOnboarding.jsx - Dashboard · Primary student workspace.
src/pages/Dashboard.jsx - Career map · Career exploration and guidance screen.
src/pages/CareerMap.jsx - Parent view · Read-only parent-facing summary view.
src/pages/ParentView.jsx - Admin dashboard · Administrative control and reporting surface.
src/pages/AdminDashboard.jsx - Coaching analytics · Institution performance and KPI workflow.
src/pages/CoachingAnalytics.jsx - District intelligence · District-level decision and opportunity intelligence.
src/pages/DistrictCareerIntelligence.jsx - Coach compare · Side-by-side comparison of coaching options.
src/pages/CoachingComparison.jsx - School leaderboard · Relative ranking and trust/score views for schools.
src/pages/SchoolLeaderboard.jsx - District trust · Trust and score view for district-level evaluation.
src/pages/DistrictTrustScore.jsx
Shared components
Reusable shell, widgets, and decision UI used across pages.
- Decision engine · Core recommendation and scoring logic surfaced in the UI.
src/components/CareerDecisionEngine.jsx - AI recommendation · Recommendation output component.
src/components/AIRecommendation.jsx - Institute AI compare · AI-assisted institute comparison and matching.
src/components/InstituteComparisonAI.jsx - Weekly summary · Parent-facing progress and notification summary.
src/components/ParentWeeklySummary.jsx - Navbar · Primary navigation shell component.
src/components/Navbar.jsx - Sidebar · Secondary navigation and layout scaffold.
src/components/Sidebar.jsx - Language toggle · Language switching control.
src/components/LanguageToggle.jsx
Reference data
Static domain datasets for schools and coaching institutes.
- Schools data · Static school reference data.
src/data/schools.js - Coachings data · Static coaching institute dataset.
src/data/coachings.jsx
Integration layer
Frontend boundary for API and external data or AI calls.
- API service · Single frontend integration seam for backend or third-party calls.
src/services/api.js
Connections 28
- main → App: bootstraps · React entry mounts the application shell.
- App → Welcome: routes · App routes to the welcome entry screen.
- App → Login: routes · App routes to authentication screens.
- App → Student onboarding: routes · App routes to student setup.
- App → Dashboard: routes · App routes to the student hub.
- App → Career map: routes · App routes to career guidance screens.
- App → Parent view: routes · App routes to parent oversight views.
- App → Admin dashboard: routes · App routes to admin operations.
- App → Coaching analytics: routes · App routes to institution analytics.
- App → District intelligence: routes · App routes to district intelligence pages.
- App → Navbar: shell · Global navigation component reused across views.
- App → Sidebar: shell · Layout scaffold used across the portal.
- App → Language toggle: ui control · Language switching is available from the app shell.
- Language context → Language toggle: provides · Toggle consumes shared language state.
- Language context → App: feeds · Context is available to routed screens and shell.
- i18n utils → Language context: supports · Translation utilities back the language provider.
- Decision engine → AI recommendation: emits · Core guidance engine drives recommendation UI.
- Decision engine → Institute AI compare: drives · Decision logic powers institute matching and comparison.
- Schools data → Institute AI compare: supplies · School reference data feeds comparison workflows.
- Coachings data → Institute AI compare: supplies · Coaching dataset feeds comparison workflows.
- Parent view → Weekly summary: uses · Parent view is summarized through weekly insights.
- Dashboard → Decision engine: uses · Student hub surfaces guidance and scoring.
- Career map → Decision engine: uses · Career exploration is powered by decision logic.
- Coaching analytics → API service: fetches · Analytics pages likely pull live or aggregated data.
- District intelligence → API service: fetches · District intelligence depends on external data or AI calls.
- Admin dashboard → API service: fetches · Admin workflows integrate with backend services.
- Coaching analytics → Coachings data: references · Analytics may combine live metrics with local coaching data.
- District intelligence → Schools data: references · District views draw from school reference data.