diff --git a/content/docs/2025/PALTUS/_index.md b/content/docs/2025/PALTUS/_index.md new file mode 100644 index 000000000..99e874595 --- /dev/null +++ b/content/docs/2025/PALTUS/_index.md @@ -0,0 +1,4 @@ +--- +bookCollapseSection: true +title: "PALTUS" +--- diff --git a/content/docs/2025/PALTUS/week1.md b/content/docs/2025/PALTUS/week1.md new file mode 100644 index 000000000..b14f8cdc8 --- /dev/null +++ b/content/docs/2025/PALTUS/week1.md @@ -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 | s.knyazkin@innopolis.university | Frontend/Design/DevOps | Creating UX/UI, designing frontend structure, assisting deployment | +| Aidar Sarvartdinov | @aidar_sar | a.sarvardinov@innopolis.university| Backend | Creating overall backend structure | +| Amir Fayzullin | @HoriFa7z | a.fayzullin@innopolis.university | Fullstack | Developing frontend components, assisting backend code | +| Ramazan Gizamov | @ramzeuus | r.gizamov@innopolis.university | DevOps/Tech communication| Application deployment, report/presentation writing | +| Igor Dubrovsky | @chomosuce | i.dubrovsky@innopolis.university | Backend | Writing logic for GPT interaction | +| Danil Demin | @degradatorus | da.demin@innopolis.university | 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 diff --git a/content/docs/2025/PALTUS/week2.md b/content/docs/2025/PALTUS/week2.md new file mode 100644 index 000000000..8946ce91f --- /dev/null +++ b/content/docs/2025/PALTUS/week2.md @@ -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. + + + diff --git a/content/docs/2025/PALTUS/week3.md b/content/docs/2025/PALTUS/week3.md new file mode 100644 index 000000000..8752b1ba4 --- /dev/null +++ b/content/docs/2025/PALTUS/week3.md @@ -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.

+ +**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](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. + + + diff --git a/content/docs/2025/PALTUS/week4.md b/content/docs/2025/PALTUS/week4.md new file mode 100644 index 000000000..35f4c5898 --- /dev/null +++ b/content/docs/2025/PALTUS/week4.md @@ -0,0 +1,141 @@ +# Practicum Project +PALTUS team. Report 4 + +## Testing and QA + +### Testing Approach +1. Unit Testing Layer: +- Converters (Tested StringListConverter): + - Null/empty inputs + - Single/multi-item handling + - Whitespace trimming + - Bidirectional conversion + +- Mappers (CourseMapper transformations): + - Course <-> DTO conversions + - Lesson/Subtopic mappings + - Data integrity checks + +2. Integration Testing Layer: +- Spring Context Test (application context loading): + - Spring bean initialization + - Profile-based configuration + - Dependency wiring + +3. API Controller Testing: +- CourseController (Mock-tested REST endpoints): + - GET /courses (dashboard) + - GET /courses/{id} (course details) + - DELETE /courses/{id} + - POST /courses/saveCourse + +### Evidence +[Screenshot folder in Google Drive](https://drive.google.com/file/d/19Ylxnkw9g5e4c_-syTJ1TetXSx5ajJ79/view?usp=sharing) + + +## CI/CD +1. Trigger: On push/pull request to main or dev +2. Environment: + + - Ubuntu latest runner + - Java 17 (Temurin distribution) + - Spring test profile activation +3. Test Execution: + + - Isolated H2 database for tests + - Surefire plugin for test reporting + - Parallel-safe test configuration +4. Quality Gates: + + - Block merge on test failures + - Artifact upload for test reports +5. Self-hosted CD + +### Links to CI/CD configuration files +[Tests folder](https://github.com/IU-Capstone-Project-2025/PALTUS/tree/main/backend/src/test) + +[CI/CD](https://github.com/IU-Capstone-Project-2025/PALTUS/blob/main/.github/workflows/ci.yml) + +## Deployment + +### Staging Environment + +The staging environment is built by using Docker Compose, providing a setup for final testing before release. + +Infrastructure Provisioning: +- PostgreSQL 15 database container +- Spring Boot backend service container +- Frontend application container +- All services connected via Docker network + + + +| Service | Port Mapping | Configuration | Dependencies | +|---------------------|----------------|-----------------------------|---------------------| +| PostgreSQL 15 | 5432:5432 | .env variables | Persistent volume | +| Frontend | 5175:5173 | Hot-reload enabled | Backend service | +| Backend | 8081:8080 | Spring profiles, DB config | PostgreSQL | + +### Access + +- http://10.90.137.167:5175/ + +This staging environment provides: + +- Final integration testing +- User acceptance testing (UAT) +- Performance benchmarking +- Security validation + + +## Vibe Check + +The discussion was done during the least meeting of the 4th week, we are a bit behind the plan and our ambitions and also the tasks are not clearly splitted in a proper way, so we decided to fix that during next meetings. + +## Weekly commitments + +### Individual contribution of each participant + +- Sergey Knyazkin + - [Add registration page](https://github.com/IU-Capstone-Project-2025/PALTUS/commit/24bf50bdfe00fdbfc8776402149b3b9e3bebc3ad). + - [Add expansion panel with profile settings](https://github.com/IU-Capstone-Project-2025/PALTUS/commit/3aa5809ae0d69c7070c1a333944d0617a976692a). + - [Refactor CourseView](https://github.com/IU-Capstone-Project-2025/PALTUS/commit/9a70e90f43f6ce7d05484bc269e4d45b7558e76b). + - [Make scroll only on a sidebar](https://github.com/IU-Capstone-Project-2025/PALTUS/commit/5102a5c8df8831013327ba5e989469175fa382d1). + - [Configure VM on vm.innopolis.university/](http://10.90.137.167:5175/) +- Ramazan Gizamov + - [CD configuration](https://github.com/IU-Capstone-Project-2025/PALTUS/commit/47d41ba67590b14d458220864074ab30dbdc2b01) + - [Figma design for Quiz and Achievements pages](https://www.figma.com/proto/rvNoC6oOC2Xe5y7yWIhLuN/Demo-visuals?node-id=0-1&t=lkMobF4VojzpdDli-1). + - [Report for week 4](https://github.com/poeticlama/PALTUS/new/master/content/docs/2025/PALTUS/week4.md). +- Aidar Sarvartdinov + - [Add connection between user and his courses](https://github.com/IU-Capstone-Project-2025/PALTUS/commit/c4c6b3e3d4af33f4f3a71083c3e26024c0b4462a). + - [Authorization](https://github.com/IU-Capstone-Project-2025/PALTUS/commit/05c6667c6561bdf36bb5c7a38bad6413c8fcfa9a). +- Igor Dubrovsky + - [Exception logger as aspect](https://github.com/IU-Capstone-Project-2025/PALTUS/commit/44adbb2e711ad8a88ec12f821f176d086d7e0d5a). + - [Ability to change course during its creation](https://github.com/IU-Capstone-Project-2025/PALTUS/commit/2122028a405931147213f3c8306ee94f15fa41a8). + - [Add otes that user can edit and content generation for subtopic](https://github.com/IU-Capstone-Project-2025/PALTUS/commit/108c6fb84f58798eb4bb15220138b10e6ab93440). +- Amir Fayzullin + - [Fixed tests](https://github.com/IU-Capstone-Project-2025/PALTUS/commit/1492366198120431bc02dd71f990179c05f6580b). + - [Add CourseControllerTest](https://github.com/IU-Capstone-Project-2025/PALTUS/commit/0ea7c16fe1c9d3c31c9cf31d73660cdbd48f643e). + - [Configure CI](https://github.com/IU-Capstone-Project-2025/PALTUS/commit/cef58cb62486169ff81735848f481558d393c068) + +## Plan for Next Week + +### *Frontend* +- Request fot authorization and registration. +- Add possibilities to change the course. +- Add design features (navigation, scroll bars, etc). +- Add tests. + +### *Backend* +- Quizzes generation. +- Acceptance of a created course. +- Generation of additional content for subtopics. +- Daily streak. + +### *DevOps* +- Update Dockerfile for the frontend application. + +## Confirmation of the code’s operability + +We confirm that the code in the main branch: +Run via docker-compose. diff --git a/content/docs/2025/PALTUS/week5.md b/content/docs/2025/PALTUS/week5.md new file mode 100644 index 000000000..3a7a208e5 --- /dev/null +++ b/content/docs/2025/PALTUS/week5.md @@ -0,0 +1,93 @@ +# Practicum Project +PALTUS team. Report 5 + +## Feedback + +1. Course Creation & Editing + - Allow expansion of subtopics to include presentations, homework, or additional materials. + +2. UX Features + - Clarify validation rules (e.g., "A proper topic is required") to guide users. + - Improve annotations/instructions for users unfamiliar with the system. + - Optimize the platform for mobile devices (currently not supported). + +3. Knowledge Base & AI Enhancements + - Integrate a knowledge base for the AI model to generate more complete courses. + - Allow manual editing/expansion of AI-generated courses. + - Implement a service to improve user prompts (beyond basic validation). + +4. Interactive Learning Features + - Add quizzes to assess user knowledge retention. + +5. User Account & Security + - Implement user registration (done this week). + +### Google Drive folder with screenshots of exact feedbacks + +[Screenshot folder in Google Drive](https://drive.google.com/drive/folders/1nARhMYD_WLm-qb310XpuCgS5_8i0zZuA?usp=sharing) + + +## Iteration & Refinement + +### Implemented features based on feedback +1. Quizzez are currently in progress. +2. Authorization and regstration are done on this week. +3. Editing course right after its creation feature is donne on this week. +4. An ability to edit subtopic using LLM model. +5. An ability to add notes as user is added. + +### Performance & Stability +- Course creation time - 9,98 sec. +- Course removal time - immediate. +- User feedback (overall level of satisfaction) - 2 people out of 6 were not satisfied. +- Course editing time metric - to be measured. +- GPT answer time - to be measured. + +### Documentation +README file is the only documentation. + +### ML Model Refinement +The prompt we use is changing in a good way to satisfy the conditions and expectations we need. + +## Weekly commitments + +### Individual contribution of each participant + +- Sergey Knyazkin + - [Rewrite requests for authorization](https://github.com/IU-Capstone-Project-2025/PALTUS/pull/40). + - [Authorization and registration requests](https://github.com/IU-Capstone-Project-2025/PALTUS/pull/40). + - [Add notes to subtopics](https://github.com/IU-Capstone-Project-2025/PALTUS/commit/e490be3977f1bcfeeb0522c637d6c43a920f96a5) + - [Add modal to fix course](https://github.com/IU-Capstone-Project-2025/PALTUS/commit/824d0bb71071e3a4abc031dd5933aa1c8ff1d2d7) + - [Add text-area component](https://github.com/IU-Capstone-Project-2025/PALTUS/commit/92a3dd56276753c0c5563650bff2a543fb981c85) +- Ramazan Gizamov + - [Awards page layout and styling](https://github.com/IU-Capstone-Project-2025/PALTUS/commit/ef5086d95b640fffa40d14d1be58c48aa862ba71). + - [Quiz page layout and styling](https://github.com/IU-Capstone-Project-2025/PALTUS/commit/a33cb1efedb0fc8a8e3d4b90f06a3bee11fa7c6c). + - [Report for week 5](https://github.com/poeticlama/PALTUS/new/master/content/docs/2025/PALTUS/week5.md). + - [Collected feedback](https://drive.google.com/drive/folders/1nARhMYD_WLm-qb310XpuCgS5_8i0zZuA?usp=sharing). +- Aidar Sarvartdinov + - [Fixed the same user is not duplicated when registering again](https://github.com/IU-Capstone-Project-2025/PALTUS/commit/d045100ee10a020d279ce204b6d7862d95844784). + - [Fixed exclude JwtFilter from ExceptionLoggingAspect to avoid proxying](https://github.com/IU-Capstone-Project-2025/PALTUS/commit/6edea8645efa833f9434d2eb2d903781b93fa199). +- Igor Dubrovsky + - [Base content generation](https://github.com/IU-Capstone-Project-2025/PALTUS/commit/321896aca1e0c7430e017f080188447c94b24df2). +- Amir Fayzullin + - [Fixed tests](https://github.com/IU-Capstone-Project-2025/PALTUS/commit/1492366198120431bc02dd71f990179c05f6580b). + +## Plan for Next Week + +### *Frontend* +- Error Displaying. +- Validation. +- Quizzes. +- Gamification. + +### *Backend* +- Quizzes. +- Gamification. +- GPT interaction. +- Daily streak. + + +## Confirmation of the code’s operability + +We confirm that the code in the main branch: +Run via docker-compose. diff --git a/content/docs/2025/PALTUS/week6.md b/content/docs/2025/PALTUS/week6.md new file mode 100644 index 000000000..3a1117329 --- /dev/null +++ b/content/docs/2025/PALTUS/week6.md @@ -0,0 +1,89 @@ +# Practicum Project +PALTUS team. Report 6 + +## Links + +- Deployment: +- Docs: [README.md](https://github.com/IU-Capstone-Project-2025/PALTUS/blob/main/README.md), [api docs](https://github.com/IU-Capstone-Project-2025/PALTUS/tree/docs/backend/src/main/java/com/paltus/backend) +- Design: [Figma](https://www.figma.com/proto/rvNoC6oOC2Xe5y7yWIhLuN/Demo-visuals?node-id=0-1&t=DavTpLzLzLBFOWSe-1) +- Demo: [Google Drive](https://drive.google.com/file/d/1V9wfvfOaQE4dwFPFoQbJqLrLlIAixLil/view?usp=sharing) +- Kaiten board: [Screenshots of the board](https://drive.google.com/drive/folders/16Y-MQXpZghhkoxADxd6L7syHdWsxzkpA?usp=sharing) + + +## Final deliverables + +### Project overview +PALTUS is an AI-powered self-learning platform designed to change the way of personalized education. The platform addresses key challenges in modern e-learning by providing: + +- Adaptive Learning: AI-driven personalization that adjusts content and pace based on user choices and preferences. +- Flexible Course Creation: Intuitive tools for educators and users to build, modify, and delete custom courses. +- Gamification: Reward systems, achievements, and daily streaks to maintain motivation and track progress. +- Knowledge Review Tools: Repetition and quizzes to enhance long-term retention of learned material. + +By combining AI-powered recommendations with user-aimed design, PALTUS creates a learning experience that adapts to individual needs while keeping users engaged through interactive and gamified elements. +### Features +- Authorization +- Registration +- Add course +- Edit course +- Delete course +- Mark subtopics as done/undone +- Progress bar for course completion +- Add notes for subtopics +- Interaction with AI-model for questions and misundrstandings +- Learnt material revise through quizzes +- User experience level via achievements +- Awards for completing challenges +### Tech stack +**Frontend** + +- Vue.js: Reactive framework for building intuitive interfaces +- Pinia: To mantain a global state of a frontend app +- Axios: For HTTP requests + +**Backend** + +- Spring Boot: Robust backend framework for RESTful APIs +- PostgreSQL: Relational database for structured data storage +### Setup instructions +Run project via `docker compose --profile front-dev up`. You should get [GigaChat API key](https://developers.sber.ru/portal/gigachat-and-api) to run the application. See [.env.example](https://github.com/IU-Capstone-Project-2025/PALTUS/tree/main/.env.example) for configuration. + +## Presentation draft + +[Google Presentation](https://docs.google.com/presentation/d/1lrC7sYqLeRxuk9y8BXHxn9HLMQ02L2u9C7xS4bjsmcU/edit?usp=sharing) + +## Weekly commitments + +### Individual contribution of each participant + +- Sergey Knyazkin + - [Added chat interaction inside the lesson](https://github.com/IU-Capstone-Project-2025/PALTUS/commit/9cd3840af830e49dcf6965eb5afd0723a54de098) + - [Added quizzes](https://github.com/IU-Capstone-Project-2025/PALTUS/commit/aaaecb7161e1f6a3a343d6b1261cbb3ea094bf26) + - [Configured nginx for build version of frontend](https://github.com/IU-Capstone-Project-2025/PALTUS/commit/bef3dfa67b6538eb760132294d46d8bcc8ff7828) + - [Fixed bugs](https://github.com/IU-Capstone-Project-2025/PALTUS/commit/9ad8177251a6b4068a9156674820555c231117f8) +- Ramazan Gizamov + - Design finished - [Figma](https://www.figma.com/proto/rvNoC6oOC2Xe5y7yWIhLuN/Demo-visuals?node-id=0-1&t=DavTpLzLzLBFOWSe-1). + - [Report for week 5](https://github.com/poeticlama/PALTUS/new/master/content/docs/2025/PALTUS/week5.md). + - [Google Presentation](https://docs.google.com/presentation/d/1lrC7sYqLeRxuk9y8BXHxn9HLMQ02L2u9C7xS4bjsmcU/edit?usp=sharing). +- Aidar Sarvartdinov + - [Added gamification features](https://github.com/IU-Capstone-Project-2025/PALTUS/commit/4bc7b5cf26ab5319737d7662a2aaf55ad0d94446) + - [Configured library for backend docs](https://github.com/IU-Capstone-Project-2025/PALTUS/commit/6a2a092124026798261dd7e88b64b499084dc942) +- Igor Dubrovsky + - [Configured library for fixing bad LLM responses](https://github.com/IU-Capstone-Project-2025/PALTUS/commit/182c683ce51d310aecd854166bd3f083d897c8f7) + - [Quiz functionality for backend](https://github.com/IU-Capstone-Project-2025/PALTUS/commit/add999bb7f44ecc903529df3162b2a9a01e4c8a9) + - [Fixed bugs](https://github.com/IU-Capstone-Project-2025/PALTUS/commit/d4decc594ae5f05af518ec783bce3eb6ac10c39c) +- Amir Fayzullin + - [Fix overall documentation](https://github.com/IU-Capstone-Project-2025/PALTUS/commit/976fcc9a0e8432b4d231d39181180677924666b0) + - Balanced gamification features + +## Plan for Next Week + +- Code cleaning +- Fix bugs +- Finish presentation +- Add adaptive layouts + +## Confirmation of the code’s operability + +We confirm that the code in the main branch: +Run via docker-compose.