Week3

Practicum Project #

PALTUS team. Report 3

Description of implemented MVP features and the functional user journey(s). #

Features #

  • An ability to generate and save a course based on user’s parameters and willings.
  • An ability to walkthrough generated course.
  • An ability to track progress through marking subtopics as done/undone.
  • An ability to delete a course.
  • Error hadling:
    • frontend - validation in form.
    • backend - global exception handler, error response DTO, EntityNotFoundException.
    • System prompt handles incorrect user’s input.

Functional user journeys #

1. Course Creation Journey

User Goal: Generate and save a personalized course based on their inputs.

  • User opens the website and get on the home page.
  • User clicks on “Create New Course”.
  • User provides inputs (e.g., topic, difficulty level, duration).
  • Frontend validation ensures required fields are filled correctly (error handling).
  • User submits the form -> the system processes inputs and generates a structured course.
  • User reviews the generated course and clicks “Save.”
  • The course is stored in their dashboard.

2. Course Progress Tracking Journey

User Goal: Track learning progress.

  • User navigates to their dashboard and selects a saved course.
  • Course displays lessons in a sidebar and subtopics in lesson page.
  • User clicks a checkbox next to a subtopic to toggle completion status.
  • Backend updates progress and last activity time.

3. Course Deletion Journey

User Goal: Remove an unwanted/completed course.

  • User views their list of saved courses.
  • User clicks a “Delete” button on the bottom of the course page.
  • Frontend confirms the action.
  • Backend processes the DELETE request -> course is removed from the dashboard.

Demonstration of the working MVP. #

Link to the video of a demo: Google Drive or YouTube

ML #

API of LLM model was used, special prompt is used to implement necessary functionality.

Internal demo. #

For the current state of our product, we have only basic functionality, for areas of immediate improvement we defined the following:

  • Advanced error handling.
  • Add description for subtopics.
  • Add ability to add notes for subtopics.
  • Add ability to scroll the sidebar in course view.
  • Add navigation buttons for course view.
  • Mark lesson as finished in course view.
  • Add adaptive layout.
  • Add authorization (probably).
  • Add ability to edit course before saving it into user’s courses.
  • Add CI/CD for tests.

Weekly commitments #

Individual contribution of each participant #

Plan for Next Week #

Frontend #

  • Add ability to scroll the sidebar in course view.
  • Add navigation buttons for course view.
  • Mark lesson as finished in course view.
  • Add adaptive layout.
  • Add description for subtopics.

Backend #

  • Add ability to edit course before saving it into user’s courses.
  • Advanced error handling.
  • Add description for subtopics.
  • Add authorization.

DevOps #

  • Configure frontend Dockerfile for build version
  • Configure CI/CD

Confirmation of the code’s operability #

We confirm that the code in the main branch: Run via docker-compose.