How khushi-saraswat/askhelp works
AskHelp is a React study-assistant application backed by Spring Boot. The main workflow is a student submitting content or a question through a feature page, the frontend API service forwarding it to the backend controller, and a research service producing an AI response for display. Separate flows cover account sessions, saved notes, flashcard persistence, and keyword-based RAG. The README documents the feature set; sampled source confirms service and controller wiring, while individual page-to-API calls were not sampled.
Main entry points: api.js Frontend API · ResearchService.java AI research service · AppContext.jsx App state · ResearchController.java Research API
Components 19
Study experience
- AI chat
student-ai/student-ai/src/pages/ChatPage.jsx - Summarization
student-ai/student-ai/src/pages/SummarizePage.jsx - Concept explanation
student-ai/student-ai/src/pages/ExplainPage.jsx - Flashcard study
student-ai/student-ai/src/pages/FlashcardsPage.jsx - Citation creation
student-ai/student-ai/src/pages/CitePage.jsx - Notes
student-ai/student-ai/src/pages/NotesPage.jsx - Knowledge base
student-ai/student-ai/src/pages/KnowledgeBase.jsx - Frontend API
student-ai/student-ai/src/services/api.js - App state
student-ai/student-ai/src/context/AppContext.jsx - Browser storage
Backend workflows
- Research API
ResearchBackend/src/main/java/com/research/assistant/Controller/ResearchController.java - AI research service
ResearchBackend/src/main/java/com/research/assistant/Service/ResearchService.java - Keyword retrieval
ResearchBackend/src/main/java/com/research/assistant/Service/RagService.java - Flashcard repository
ResearchBackend/src/main/java/com/research/assistant/Repository/FlashCardRepository.java - Application database
Identity and state
- Authentication API
ResearchBackend/src/main/java/com/research/assistant/Controller/AuthController.java - User repository
ResearchBackend/src/main/java/com/research/assistant/Repository/UserRepository.java
External services
- Gemini AI
Other components
- Student
Connections 28
- Student → AI chat: submits query
- Student → Summarization: submits text
- Student → Concept explanation: requests explanation
- Student → Flashcard study: requests cards
- Student → Citation creation: enters details
- Student → Knowledge base: asks question
- AI chat → Frontend API: API request
- Summarization → Frontend API: API request
- Concept explanation → Frontend API: API request
- Flashcard study → Frontend API: API request
- Citation creation → Frontend API: API request
- Knowledge base → Frontend API: API request
- Frontend API → Research API: HTTP request
- Research API → AI research service: invokes AI operations
- Research API → Keyword retrieval: dispatches RAG query
- AI research service → Gemini AI: sends prompt
- Keyword retrieval → Flashcard repository: loads flashcards
- Keyword retrieval → AI research service: submits context and question
- AI research service → Flashcard repository: saves flashcard
- Flashcard repository → Application database: reads and writes
- Student → Notes: creates notes
- Notes → App state: updates notes
- App state → Browser storage: persists notes
- Student → Authentication API: registers or signs in
- Authentication API → User repository: looks up and saves user
- User repository → Application database: reads and writes
- App state → Frontend API: checks session
- Frontend API → Authentication API: auth request