How jonathanrodrigues15287/scholaris works
Scholaris is a student productivity app whose workflow runs from browser interactions through a FastAPI API to academic services and PostgreSQL-backed records, then returns data for display. Its major domains include assignments, attendance and predictions, courses and semesters, timetable, study history, grade calculations, and the dashboard. The sampled files show app registration, authentication, and attendance internals; other feature branches are preserved from the README and file tree, with unverified connections left dashed.
Main entry points: main.py FastAPI app · api.js Browser app · models Domain records · auth.py Authentication
Components 20
Student interface
- Browser app
frontend/js/api.js - Assignments UI
frontend/js/assignments.js - Attendance UI
frontend/js/attendance.js - Timetable UI
frontend/js/timetable.js - Study timer
frontend/js/timer.js - Grade UI
frontend/js/cgpa.js - Dashboard UI
frontend/js/dashboard.js
API and identity
- FastAPI app
backend/app/main.py - Authentication
backend/app/routers/auth.py
Academic workflows
- Assignment tracking
backend/app/services/assignment_service.py - Attendance and forecasts
backend/app/services/attendance_service.py - Courses and semesters
backend/app/services/course_service.py - Weekly timetable
backend/app/services/timetable_service.py - Study history
backend/app/services/study_service.py - SGPA and CGPA
backend/app/services/cgpa_service.py - Dashboard aggregation
backend/app/services/dashboard_service.py
Persistence and shared logic
- Domain records
backend/app/models - PostgreSQL access
backend/app/core/database.py - Validation and helpers
backend/app/utils
Other components
- Student
Connections 27
- Student → Browser app: uses
README.md - Browser app → FastAPI app: API requests
- FastAPI app → Authentication: registers routes
backend/app/main.py - FastAPI app → Attendance and forecasts: registers routes
backend/app/main.py - FastAPI app → Assignment tracking: registers routes
backend/app/main.py - FastAPI app → Weekly timetable: registers routes
backend/app/main.py - FastAPI app → Study history: registers routes
backend/app/main.py - FastAPI app → SGPA and CGPA: registers routes
backend/app/main.py - FastAPI app → Dashboard aggregation: registers routes
backend/app/main.py - Authentication → PostgreSQL access: gets sessions
backend/app/routers/auth.py - Authentication → Domain records: authenticates users
backend/app/routers/auth.py - Authentication → Validation and helpers: normalizes input
- Attendance and forecasts → Domain records: reads and writes
backend/app/services/attendance_service.py - Attendance and forecasts → Validation and helpers: validates and pages
backend/app/services/attendance_service.py - Assignment tracking → Domain records: reads and writes
backend/app/services/assignment_service.py - Assignment tracking → Validation and helpers: validates and pages
backend/app/services/assignment_service.py - Weekly timetable → Domain records: reads and writes
backend/app/services/timetable_service.py - Study history → Domain records: reads and writes
backend/app/services/study_service.py - Dashboard aggregation → Domain records: aggregates records
backend/app/services/dashboard_service.py - Dashboard aggregation → Attendance and forecasts: uses attendance logic
backend/app/services/dashboard_service.py - SGPA and CGPA → Domain records: calculates grades
- Assignments UI → Browser app: uses API client
- Attendance UI → Browser app: uses API client
- Timetable UI → Browser app: uses API client
- Study timer → Browser app: uses API client
- Grade UI → Browser app: uses API client
- Dashboard UI → Browser app: uses API client