Week #3

Week #3 #

Implemented MVP features #

  • Onboarding with 3 Hardcoded Questions:

    Users are prompted with three fixed, free-form questions to gather their learning goal, current skill level, and preferred study time. Inputs are accepted as plain text.

  • Personalized Course Search:

    The backend uses a simple vector search (via Qdrant) to match user input with relevant courses, returning a linear list of recommended resources based on the provided answers.

  • Popular Courses:

    An additional endpoint provides a list of popular courses, available regardless of user input.

  • Simple Linear Output:

    Recommendations are displayed as a list. Each recommended course includes a title, image, and all available metadata (e.g., duration, difficulty, rating). If some of the metadata or image is missing, it is omitted.

Demonstration of the working MVP #

Link to the MVP demo video: https://disk.yandex.ru/i/by0dt3znwI9tFQ

Internal demo #

Good parts: #

Implemented all features planned for MVP

Enhansed search & productivity

To be improved as MVP: #

Add a trashhold, to make the number of cards dynamic & improve search precision

Add similarity threshold to suggest courses or return fallback message on low match

+Implement new features planned for the final product #

Weekly commitments #

Individual contribution of each participant #

Team MemberTelegram AliasEmail AddressTrackResponsibilities
Lana Ermolaeva (lead)@oELYAol.ermolaeva@innopolis.universityProject and Product ManagementBacklog: https://app.clickup.com/9015876757/v/s/90155186012; Report writing; Project evolution planning: Click-up whiteboard
Adilya Saifetdiarova@sayfetika.saifetdiarova@innopolis.universityFront-end and UX/UI designDesign: Design roadmaps page, Update chat page design, Update userflow week 3 Assets, new designs in Figma; Frontend: Connect frontend and backend, Add error handling Pull request 6
Ivan Ershov@spiritonchiсi.ershov@innopolis.universityMLMade the parser asynchronous and run as a background task Commit, Completed the course search endpoint Commit, Fixed frontend launch bug Commit, Added support for running the encoder on the GPU Commit, Refactored model saving: removed redundant folder creation and checks by using proper function argument Commit, Allow passing null values for certain course parameters from frontend Commit 1, Commit 2
Bulat Gazizov@BulatGazizov0b.gazizov@innopolis.universityBack-end working with Front-end, DevOpsRefactored the course-fetching logic, Added functionality to retrieve author information and their ratings (requires additional requests to Stepik), Made the “popular courses” endpoint functional, Fixed validation-related bugs, Reworked Docker settings to enable communication between frontend and backend, Removed the CORS workaround (made possible by the Docker changes above) Pull request 6
Arthur Popov@ee_boooyar.popov@innopolis.universityBack-end working with ML, MLOps,Add logging, Backend code refactoring Commit

Plan for Next Week #

Select & start implementing the model of advanced search, show the roadmap, add signing in via Stepik, deploy the service to the server.

Confirmation of the code’s operability #

We confirm that the code in the main branch:

  • [✔] In working condition.
  • [✔] Run via docker-compose (or another alternative described in the README.md).