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 #
- Sergey Knyazkin
- Ramazan Gizamov
- Added relative font-sizing commit.
- Report for week 3.
- Aidar Sarvartdinov
- Igor Dubrovsky
- Amir Fayzullin
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.