Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
a0ae296
Report for the week 1
poeticlama Jun 10, 2025
a7b65e8
Update week1.md
poeticlama Jun 11, 2025
5055dce
Update week1.md
poeticlama Jun 11, 2025
00cc12c
Update week1.md
poeticlama Jun 11, 2025
09b671a
Update week1.md
poeticlama Jun 11, 2025
6ddba5a
Update week1.md
poeticlama Jun 11, 2025
6fd6c45
Create _index.md
poeticlama Jun 12, 2025
f6673ff
week2 report
poeticlama Jun 18, 2025
65e3504
Update week2.md
poeticlama Jun 18, 2025
6005eb7
Update week2.md
poeticlama Jun 19, 2025
db2100e
Create week3.md
poeticlama Jun 24, 2025
1ccb559
week3.md
RamzeusInno Jun 24, 2025
dc4fd0a
week3.md
RamzeusInno Jun 24, 2025
7e17563
Update week3.md
poeticlama Jun 24, 2025
950f7f5
week3.md
RamzeusInno Jun 25, 2025
087d289
Update week3.md
poeticlama Jun 25, 2025
0c32a60
Create week4.md
RamzeusInno Jul 2, 2025
b0fc6e6
Update week4.md
poeticlama Jul 2, 2025
699f05c
Create week5.md
RamzeusInno Jul 9, 2025
0f48dfd
Update week5.md
poeticlama Jul 9, 2025
a69e8e5
Create week6.md
RamzeusInno Jul 15, 2025
2db99ec
Update week6.md
RamzeusInno Jul 15, 2025
2594181
Update week6.md
RamzeusInno Jul 15, 2025
8b7e68f
Update week6.md
RamzeusInno Jul 15, 2025
250cfe9
Update week6.md
RamzeusInno Jul 15, 2025
f90b22f
Update week6.md
RamzeusInno Jul 16, 2025
05e04a9
Update week6.md
RamzeusInno Jul 16, 2025
3843adb
Update week6.md
poeticlama Jul 16, 2025
c0cc595
Update week6.md
poeticlama Jul 16, 2025
21dd03b
Update week6.md
RamzeusInno Jul 17, 2025
4a92dcf
Update week6.md
RamzeusInno Jul 17, 2025
e1197ff
Update week6.md
RamzeusInno Jul 17, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions content/docs/2025/PALTUS/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
bookCollapseSection: true
title: "PALTUS"
---
93 changes: 93 additions & 0 deletions content/docs/2025/PALTUS/week1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
# Practicum Project
PALTUS team. Report 1

## Project name: PALTUS: Personalized Adaptive Learning & Time Utilization System

## Code repository:
https://github.com/IU-Capstone-Project-2025/PALTUS

## Project Idea
An AI-powered self-learning planner that helps users create personalized study plans for any topic, using AI-model to generate lessons, structure schedules, and track progress with gamification to maintain engagement. User can add a course using AI-model interaction: user writes that he wants to learn some discipline, adds amount of lessons and available time, then AI-model generates a full course depending on user’s preferences and requested topic. The main goal - courses are built to fit user’s comfort and free time. Lessons include an option to edit the course model or lesson topics, add notes on each lesson and see the description of the generated course. Everything is customisable individually, starting from lesson amount and lesson duration, ending with calendar dates and time. There will be an option to give feedback to in a chat with AI-model after lesson or a course.

## Problem Statement
Many students and self-learners struggle to structure their self-study process, leading to inconsistencies and inefficiencies. Existing platforms lack personalization and flexibility, often resulting in lost motivation.

## Team Members

| Team Member | Telegram Alias | Email Address | Track | Responsibilities |
|-------------------------|------------------|-----------------------------------|--------------------------|----------------------------------------------------------------------------------|
| Sergey Knyazkin (Lead) | @poeticlama | [email protected] | Frontend/Design/DevOps | Creating UX/UI, designing frontend structure, assisting deployment |
| Aidar Sarvartdinov | @aidar_sar | [email protected]| Backend | Creating overall backend structure |
| Amir Fayzullin | @HoriFa7z | [email protected] | Fullstack | Developing frontend components, assisting backend code |
| Ramazan Gizamov | @ramzeuus | [email protected] | DevOps/Tech communication| Application deployment, report/presentation writing |
| Igor Dubrovsky | @chomosuce | [email protected] | Backend | Writing logic for GPT interaction |
| Danil Demin | @degradatorus | [email protected] | Frontend | Creating frontend components and views |

## Brainstorming
**Ideas during brainstorming**
1. **AI Study Planner (Chosen idea)** — An AI-powered self-learning planner that helps users create personalized study plans for any topic, using AI-model to generate lessons, structure schedules, and track progress with gamification to maintain engagement.
2. **Smart Scheduler Bot** — A Telegram bot that understands free-form user input about upcoming tasks or events, adds them to a calendar, and sends reminders in advance. Could be integrated with Google Calendar API.
3. **MeetDev** — A web platform to help developers find pet projects and teammates by stack and experience level. Aimed at beginners looking for practice and teams searching for collaborators.
4. **CarsToBuy** — A web service that aggregates reviews, listings from popular marketplaces, and technical data for each car model to help users make informed purchasing decisions.

## Brief market research / problem validation
Application analogues:
The Habitica and Life RPG applications allow you to create tasks, receive rewards for completing them, and buy various equipment, pets, and skills for in-app currency. The Todoist app motivates through points for completing tasks
Coursebox.ai and MiniCourse Generator generates courses based on the provided materials (videos, docs)
Our app combines the possibilities of creating a course using AI and tracking progress and maintaining motivation through game elements.

## Basic requirements #
- AI-generated topic-based study plans
- Ability to input any study topic
- Text-based lesson delivery
- Clear and simple progress tracking system
- Web-based interface

## Target users and their primary needs #
- **Self-learners / students** — need structured and personalized study plans.
- **Busy professionals** — want to upgrade skills with limited time using adaptive tools.
- **People preparing for exams / new skills** — require guided, gamified paths to stay motivated.

## User stories #
1. As a client, I want a course with structured learning materials to self-learn new skills.
2. As a client, I need flexibility in my learning schedule to study at my convenience.
3. As a client, I require clear progress tracking to stay engaged and understand my improvement.

## Initial scope #
**Included in MVP:**
- AI-generated topic-based study plans
- Text-based lesson delivery
- Progress tracking

**Excluded (future iterations):**
- Calendar integrations
- Social features

## Tech-stack #

### Frontend
- **Vue.js, Vuetify**
*Justification:* Vue.js offers simplicity and reactivity. Vuetify provides ready-to-use, well-designed components, accelerating development and ensuring a clean, consistent UI.

### Backend
- **Java Spring Boot**
*Justification:* Selected for robustness, scalability, and a strong ecosystem for RESTful APIs. Includes powerful tools for authentication, scheduling, and database interactions.

## Weekly commitments #
1. Sergey Knyazkin (lead):
* Configured Docker for frontend
* Added Frontend configuration (boilerplate)
* Created design in Figma
2. Aidar Sarvartdinov:
* Created overall idea and most functions
* Added backend configuration
3. Amir Fayzullin:
* Created a prompt for AI-model
4. Ramazan Gizamov:
* Wrote report
* Helped with design in Figma
5. Igor Dubrovsky
- Explored available LLM models and their API to utilize them in the project
- Configured Docker for backend
6. Danil Demin
- Suggested format for JSON used in prompt
112 changes: 112 additions & 0 deletions content/docs/2025/PALTUS/week2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
# Practicum Project
PALTUS team. Report 2

## Detailed Requirements Elaboration

### 1. User Management & Progress Tracking
- Users can mark subtopics as completed.
- Display user’s course progress (e.g., completed 5/10 lessons).

### 2. Course Management
- Fetch all user's courses (ID + name) for course selection.
- Fetch course content - lessons, subtopics, etc.
- Users can delete courses.
- Save LLM-generated courses to the database.

### 3. Frontend Application
- MVP pages: Home, Course View (with lessons), Course Creation View, Login View.
- Persist progress data in browser storage (local/session).
- HTTP requests to backend endpoints.

### 4. Backend Services
- Enable cross-origin requests for frontend-backend communication.
- Process user inputs via LLM API to generate courses.
- Optimize database queries for course/lesson retrieval.

### 5. Non-Functional Requirements
- Responsive layouts
- In future, code formatting enforced via CI/CD.
- Docker Compose setup for single-command execution.

### 6. Dependencies & Risks
*Dependencies*
- LLM API reliability.
- Asana backlog prioritization for task alignment.

*Risks*
- Inconsistent progress tracking if subtopic/lesson logic fails.
- CORS misconfiguration blocking frontend requests.



### Prioritized backlog

[Asana board](https://app.asana.com/1/1210531224311325/project/1210531182984698/board/1210531325851441)

## Project specific progress

### *Frontend*

Finished layout for neccessary pages for MVP, configured some libraries for needed functionalities.

### *Backend*

Created functions for getting the course with all the content inside, to get IDs and names of all courses, deleting a course, getting a certain lesson, saving generated course in database.

### *Other*

Created README.md for the project, fixed prompt for LLM-model, finished design of an app in Figma, discussed gamification ideas, set up task board in Asana.

# Weekly commitments

## Individual contribution of each participant

**Sergey Knyazkin**
- [Created layout for all the pages of MVP](https://github.com/IU-Capstone-Project-2025/PALTUS/commit/f3610ba3e6ecf9af1958984c41c45421a01a1f09)
- [Configured Pinia to maintain global state of an app](https://github.com/IU-Capstone-Project-2025/PALTUS/commit/44e1432efe8e2b1c1f9111e6310f3a980b50ef36)
- [Configured Vue router](https://github.com/IU-Capstone-Project-2025/PALTUS/commit/cf79f3b41754b2128faf1c2b526ccb6dec820ce0)
- [Configured Axios for HTTP requests](https://github.com/IU-Capstone-Project-2025/PALTUS/commit/79eb047173a76e57f7ff7c4f15195105b94d96d7)

**Ramazan Gizamov**
- Added [README.md](https://github.com/IU-Capstone-Project-2025/PALTUS/blob/main/README.md)
- [Report for week 2](https://github.com/poeticlama/PALTUS/edit/master/content/docs/2025/PALTUS/week2.md)
- Finished [Figma](https://www.figma.com/design/rvNoC6oOC2Xe5y7yWIhLuN/Demo-visuals) design with working prototype

**Aidar Sarvartdinov**
- [Created database structure](https://github.com/IU-Capstone-Project-2025/PALTUS/commit/901bc8cfeab41232e42effdb5354fb21a869eb64)
- [Configured interactions with database](https://github.com/IU-Capstone-Project-2025/PALTUS/commit/85ddc9723916b237dacaf0caa6dc3f0fdba1ddc5))
- [Database request optimization](https://github.com/IU-Capstone-Project-2025/PALTUS/commit/0c327b1c3414826d79ea8e07554a7d0f84cf0b04)

**Igor Dubrovsky**
- [Docker configuration](https://github.com/IU-Capstone-Project-2025/PALTUS/commit/9893206f896f0bcd8ad35a0e6ddf6045e1cbdd33)
- Added [LLM API integration](https://github.com/IU-Capstone-Project-2025/PALTUS/commit/2675a740064904d786bcc62b7ad4fd7853ed0b44) to communicate with the user

**Amir Fayzullin**
- Fixed [prompt](https://github.com/IU-Capstone-Project-2025/PALTUS/commit/8ced1df87a7b4e2edfc3ca007eaffc050fe62d1e) for LLM model
- Added [system prompt](https://github.com/IU-Capstone-Project-2025/PALTUS/commit/8ced1df87a7b4e2edfc3ca007eaffc050fe62d1e) for validation of user's inputs

**Danil Demin**
- Introduced [gamification ideas](https://github.com/IU-Capstone-Project-2025/PALTUS/blob/main/notes/meetings/week2meet1.md) for the app

## Plan for Next Week

### *Frontend*
- Set up requests
- Configure storage for a course to track learning
- Develop a logic for a few frontend features

### *Backend*
- Add ability to mark subtopic as finished
- Mark lesson as completed if all subtopics finished
- Get request for dashboard
- Calculate last unfinished lesson(for dashboard)
- Configure CORS for request
- Refactor books and links entity as just array of values

## Confirmation of the code’s operability

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



119 changes: 119 additions & 0 deletions content/docs/2025/PALTUS/week3.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
# 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.<br><br>

**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.<br><br>

**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](https://drive.google.com/file/d/1U965BjmcHg4k0Sn7m1Pr5RkGVyV-7cxI/view?usp=sharing) or [YouTube](https://youtu.be/WMYTLf23UPk)

## 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
- [Logic of a home page](https://github.com/IU-Capstone-Project-2025/PALTUS/commit/c11f3d1324c9db4cff5e4e5c3c7bcfd43d35f76e).
- Added requests [for course view](https://github.com/IU-Capstone-Project-2025/PALTUS/commit/57d271bbe3c2ebf6e503cbe3ebcc0099793197e2), [for adding a course](https://github.com/IU-Capstone-Project-2025/PALTUS/commit/7dc93b718e3ceace5ea73d48ed83a435c98dfbbe), [for Home page information](https://github.com/IU-Capstone-Project-2025/PALTUS/commit/e09d4525c02e72133946fa43c7ae7d26ec4069ad), [for deleting a course](https://github.com/IU-Capstone-Project-2025/PALTUS/commit/1c278f2e9226aa63fcb884c6665f31a5bcd869c6).
- Updated [frontend Dockerfile](https://github.com/IU-Capstone-Project-2025/PALTUS/commit/a0fce64b15569d9f3f5b95aa02351079cbc2d001).
- [Fixed bug with a course topic prop](https://github.com/IU-Capstone-Project-2025/PALTUS/commit/02216e4b396aa40ca29d0b4404903c257752354c).
- Ramazan Gizamov
- Added relative font-sizing [commit](https://github.com/IU-Capstone-Project-2025/PALTUS/commit/bfc99b9f9874fbe8acb8704685ea62427faa64b3).
- [Report for week 3](https://github.com/poeticlama/PALTUS/new/master/content/docs/2025/PALTUS/week3.md).
- Aidar Sarvartdinov
- [Added CORS](https://github.com/IU-Capstone-Project-2025/PALTUS/commit/c4c6b3e3d4af33f4f3a71083c3e26024c0b4462a).
- [Error handling on backend side](https://github.com/IU-Capstone-Project-2025/PALTUS/commit/317176addc83722d5b4eab24d5ff5ca4a035cc09).
- Igor Dubrovsky
- [GET request for dashboard](https://github.com/IU-Capstone-Project-2025/PALTUS/commit/3e25acefe019224f2c3f7f80e8fd80099bc54c63).
- [Save last activity time for course then subtopic finished or course created](https://github.com/IU-Capstone-Project-2025/PALTUS/commit/4180d299f0c2029c59cf42b51fec42fae83cc5c1).
- [Add ability to mark subtopic as finished](https://github.com/IU-Capstone-Project-2025/PALTUS/commit/216c1df7ad858227e762a7847cad717c2a6082de).
- Amir Fayzullin
- [Unit test for StringListConverter ensure reliable data conversion](https://github.com/IU-Capstone-Project-2025/PALTUS/commit/71f73d268275970df0de77fa17566944fa61007a).
- [Unit test Validates entity-DTO transformation logic in CourseMapper](https://github.com/IU-Capstone-Project-2025/PALTUS/commit/6099af7a4109b346a7e472fe6ab0885adaed4b49)

## 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.



Loading