How trxu05/fullstack-ai-agent works
StudyBoard combines a course/task/note dashboard with a session-aware tutor. A learner uses the web dashboard to create a session, view and edit the board, and chat; the Spring gateway forwards those requests to FastAPI, whose agent selects OpenAI tool-calling or a rules fallback. Tools retrieve note passages, produce plans/explanations/quizzes/flashcards, and mutate board data, persisted in SQLite. README documents the broader tutor capabilities; unsampled UI and gateway details are represented only where documented or shown.
Main entry points: agent.py Chat orchestrator · board.py Board state · main.py Agent API · tools.py Tutor tools
Components 11
Dashboard
- Study dashboard
web/src/app/page.tsx
API gateway
- Spring gateway
java-api/src/main/java/com/trxu05/agentapi/AgentApiApplication.java - Session API
java-api/src/main/java/com/trxu05/agentapi/SessionController.java
Tutor runtime
- Agent API
python-agent/main.py - Chat orchestrator
python-agent/agent.py - Tutor tools
python-agent/tools.py - Note retrieval
python-agent/retrieve.py
Board data
- Board state
python-agent/board.py - SQLite boards
python-agent/store.py
Other components
- Learner
- OpenAI API
Connections 11
- Learner → Study dashboard: uses
README.md - Study dashboard → Session API: requests
web/src/app/page.tsx - Session API → Agent API: forwards requests
java-api/src/main/java/com/trxu05/agentapi/SessionController.java - Agent API → Board state: loads and updates
python-agent/main.py - Agent API → Chat orchestrator: runs chat
python-agent/main.py - Chat orchestrator → Tutor tools: dispatches tools
python-agent/agent.py - Tutor tools → Note retrieval: retrieves passages
python-agent/tools.py - Tutor tools → Board state: reads and mutates
python-agent/tools.py - Chat orchestrator → Board state: persists changes
python-agent/agent.py - Board state → SQLite boards: loads and saves
python-agent/board.py - Chat orchestrator → OpenAI API: calls tool API
python-agent/agent.py