How joaoptoaldo/study-management-platform works
Study Management Platform is a full-stack study organizer: students use the React app to manage study materials and plans, practice, and review progress through a Spring Boot API. Its major domain stages include authentication, subject and goal management, exam preparation, study sessions, and learning content; PDFs feed an AI tutor, while quizzes, simulations, flashcards, summaries, focus tools, and analytics support ongoing study. The README documents the principal capabilities; sampled source confirms selected auth, session, and RAG internals, but not every feature’s runtime wiring.
Main entry points: App.tsx Web application · UploadedFileService.java PDFs and notes · AuthService.java Authentication · RAGChatService.java RAG tutor
Components 21
Web experience
- Web application
frontend/src/App.tsx - Study API
backend/src/main/java/com/studyplatform/StudyPlatformApplication.java
Identity and access
- Authentication
backend/src/main/java/com/studyplatform/auth/AuthService.java - User accounts
backend/src/main/java/com/studyplatform/user/User.java
Study planning
- Subjects
backend/src/main/java/com/studyplatform/subject/Subject.java - Study goals
backend/src/main/java/com/studyplatform/goal/Goal.java - Exam preparation
backend/src/main/java/com/studyplatform/examprep/ExamPrep.java - Study sessions
backend/src/main/java/com/studyplatform/session/StudySession.java - Pomodoro focus
backend/src/main/java/com/studyplatform/pomodoro/PomodoroSessionService.java
Learning content
- PDFs and notes
backend/src/main/java/com/studyplatform/file/UploadedFileService.java - PDF records
backend/src/main/java/com/studyplatform/file/PdfChunk.java - Vector indexing
backend/src/main/java/com/studyplatform/file/VectorIndexer.java - RAG tutor
backend/src/main/java/com/studyplatform/ai/RAGChatService.java - Vector store
backend/src/main/java/com/studyplatform/ai/vector/VectorStoreService.java - AI content
backend/src/main/java/com/studyplatform/ai/AiService.java - Summaries
backend/src/main/java/com/studyplatform/summary/SummaryService.java - Flashcards
backend/src/main/java/com/studyplatform/flashcard/FlashcardService.java - Podcast audio
backend/src/main/java/com/studyplatform/ai/TtsService.java
Practice and insight
- Quizzes and simulations
backend/src/main/java/com/studyplatform/examprep/ExamSimulation.java - Learning analytics
backend/src/main/java/com/studyplatform/analytics/LearningZoneService.java
Other components
- Student
Connections 20
- Student → Web application: uses
README.md - Web application → Study API: calls API
README.md - Web application → Authentication: registers and logs in
- Authentication → User accounts: creates and looks up
backend/src/main/java/com/studyplatform/auth/AuthService.java - Web application → Subjects: manages
README.md - Web application → Study goals: tracks
README.md - Web application → Exam preparation: plans exams
README.md - Web application → Study sessions: records study
- Web application → Pomodoro focus: starts focus
README.md - Web application → PDFs and notes: uploads and annotates
README.md - PDFs and notes → PDF records: stores chunks
- PDFs and notes → Vector indexing: indexes material
README.md - RAG tutor → Vector store: retrieves context
backend/src/main/java/com/studyplatform/ai/RAGChatService.java - Web application → RAG tutor: asks material
README.md - Web application → AI content: generates study content
README.md - Web application → Summaries: edits summaries
README.md - Web application → Flashcards: reviews cards
README.md - Web application → Quizzes and simulations: takes quizzes and exams
README.md - Web application → Learning analytics: views progress
README.md - Web application → Podcast audio: plays generated audio
README.md