Note: This is just an initial version of the backlog. Later on we plan to create a GitHub Project once we get this approved to have actual tickets to work on. Those tickets may deviate from what has been drafted here.
-
Marketplace Service
- Tutors
- Tutor approvals
- Modules and topics
- Tutor coverage
- Ratings
- Pricing, languages, locations, and availability signals
-
Student Service
- Student profiles
- Learning goals
- GenAI study plans
- Plan milestones
- Proposed tutors from generated plans
-
Communication Service
- Notifications
- Browser notifications
- Email messages
- Chat conversations
- Chat messages
- Set up repository layout, branching strategy, issue templates, PR template, and definition of done.
- Set up client, Marketplace Service, Student Service, Communication Service, and GenAI component.
- Create Docker Compose setup for local development.
- Configure CI/CD pipeline with builds, tests, linting, and formatting.
- Define OpenAPI-based API specification workflow for all services.
- Define service boundaries and shared client-server API conventions.
- Define shared ID, timestamp, pagination, filtering, and error response conventions.
- Configure Postgres DB and logical separation strategy per microservice.
- Add baseline health checks and request logging for all server microservices.
- Add local test data seed setup for students, tutors, modules, topics, and communication entities.
- Configure Keycloak realm and roles for student, tutor, and admin.
- Connect client authentication flow to server microservices.
- Add JWT validation to Marketplace Service, Student Service, and Communication Service.
- Implement role-based route protection in the client.
- Implement role-based endpoint protection in all server microservices.
- Restrict student profile and learning goal access to the owning student and admins (same for tutors).
- Restrict notifications, emails, chats, and messages to authorized participants.
- Add access-control tests for student, tutor, and admin flows.
- Implement
Tutorprofile model with display name, bio/description, languages, locations, hourly rate, and availability. - Implement tutor profile create, read, update, and publish endpoints (CRUD endpoints).
- Implement
TutorApprovalmodel with certificate upload, approve, and reject flow. - Implement
ModuleandTopicmodels with module code, title, description, and difficulty hints. - Implement module and topic CRUD/read endpoints.
- Implement
TutorCoveragemodel connecting tutors to modules/topics with proficiency level. - Implement tutor discovery by module, topic, language, location, budget, and availability.
- Implement
Studentprofile model with display name, email, bio/description, and languages. - Implement
LearningGoalmodel with module, topics, description, target date, self-assessed level, budget, and location preferences. - Connect frontend/client flows for student profile, tutor profile, learning goals, module/topic selection, and tutor discovery.
- Implement
NotificationandBrowserNotificationflows including mark-as-read. - Implement
EmailMessagesending flow for important student/tutor updates. - Implement
ChatConversationandChatMessageflows for student-tutor communication. - Connect notification, email, and chat UI into the client.
- Implement
Ratingmodel with tutor ID, student ID, score, and comment. - Add rating submission and tutor rating summary endpoints.
- Show tutor ratings and trust signals in discovery and tutor profile views.
- Add module and topic difficulty hints to marketplace responses.
- Use
TutorCoverageproficiency level in tutor discovery ranking. - Connect
LearningGoal.topicIdsto marketplace module/topic context. - Add mock GenAI study plan generation using learning goal and marketplace context.
- Create initial
GenAI StudyPlanandPlanMilestonepersistence models. - Display mock study plan milestones in the client.
- Add tests for rating, topic context, tutor coverage, and mock plan generation.
- Define real GenAI flow for personal catch-up plan generation.
- Connect
LearningGoaldata to GenAI plan generation. - Pull live Marketplace data for modules, topics, tutor coverage, pricing, availability, and ratings.
- Implement
GenAI StudyPlan.requestGeneration()andregenerate()backend flow. - Store generated plan status, description, generated timestamp, proposed tutors, and milestones.
- Implement structured output schema for plans and milestones.
- Add GenAI fallback behavior for missing or insufficient data.
- Add GenAI latency, cost, and request metadata logging.
- Notify the student when plan generation succeeds or fails.
- Use an appropriate framework for local LLMs setup
- Provide facility to use cloud LLMs
- Define the final demo path. Example: student creates goal > discovers tutor > generates plan > communicates.
- Seed demo data for students, tutors, approvals, modules, topics, tutor coverage, ratings, plans, and messages.
- Add smoke tests for the complete demo path.
- Polish overall documentation
- Run final release checklist, architecture review, and security/privacy review.