How sajagshri300707-ui/hobby-lily works
HobbyLily is a personalized hobby-learning product: learners choose hobbies, follow adaptive AI-generated paths, complete tasks, and track visible growth. Its frontend also presents journaling, AI help, and community features. The sampled sources show the app routing, path/task API calls, authentication, backend route dispatch, task persistence, and Socket.IO signaling; other capability links reflect README documentation, since their implementation excerpts were not provided.
Main entry points: App.jsx App routes · server.js Express and sockets · api.js HTTP API client · ai.js AI capabilities
Components 21
Learning experience
- App routes
frontend/src/App.jsx - Hobby discovery
frontend/src/pages/LandingPage.jsx - Hobby garden
frontend/src/pages/app/GardenPage.jsx - Learning paths
frontend/src/pages/app/PathPage.jsx - Learning branches
frontend/src/context/BranchContext.jsx - Smart journal
frontend/src/pages/app/JournalPage.jsx - Doubt Garden
frontend/src/pages/app/DoubtGardenPage.jsx
Identity and access
- Auth context
frontend/src/context/AuthContext.jsx - Authentication routes
backend/routes/auth.js
Backend services
- HTTP API client
frontend/src/lib/api.js - Express and sockets
backend/server.js - Hobby routes
backend/routes/hobbies.js - Task and progress routes
backend/routes/tasks.js - AI capabilities
backend/routes/ai.js - PostgreSQL
backend/db.js
Community and collaboration
- Community feed
frontend/src/pages/app/CommunityPage.jsx - Groups and voice
frontend/src/pages/app/GroupsPage.jsx - Leaderboards
frontend/src/pages/app/LeaderboardPage.jsx
Other components
- Learner
- Gemini AI
- Connected members
Connections 32
- Learner → Hobby discovery: explores hobbies
- Learner → App routes: uses app
- App routes → Hobby garden: routes to
- App routes → Learning paths: routes to
- App routes → Smart journal: routes to
- App routes → Doubt Garden: routes to
- App routes → Community feed: routes to
- App routes → Groups and voice: routes to
- App routes → Leaderboards: routes to
- App routes → Auth context: provides auth
- Learning paths → Learning branches: manages branches
- Learning paths → HTTP API client: requests paths and tasks
- Auth context → HTTP API client: sends auth requests
- HTTP API client → Express and sockets: sends HTTP requests
- Express and sockets → Authentication routes: dispatches auth
- Express and sockets → Hobby routes: dispatches hobbies
- Express and sockets → Task and progress routes: dispatches tasks
- Express and sockets → AI capabilities: dispatches AI
- Authentication routes → PostgreSQL: reads and writes users
- Hobby routes → PostgreSQL: reads and writes hobbies
- Task and progress routes → PostgreSQL: reads and updates tasks
- Task and progress routes → PostgreSQL: updates hobby progress
- Learning paths → AI capabilities: requests chapter generation
- AI capabilities → Gemini AI: generates learning content
- Smart journal → AI capabilities: uses journal AI
- Doubt Garden → AI capabilities: requests mentorship
- Groups and voice → Express and sockets: exchanges Socket.IO events
- Community feed → Express and sockets: uses live collaboration
- Connected members → Express and sockets: joins rooms and signals
- Express and sockets → Connected members: broadcasts events
- Hobby garden → HTTP API client: loads hobby data
- Leaderboards → HTTP API client: loads rankings