AI-Powered Self-Learning Planner
🧩 An AI-powered self-learning planner that helps users create personalized study plans for any topic, using AI-model to generate lessons, mantain notes to them, 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, ask AI about the topic, and check the knowledge with quiz generated.
- Email verification system
- JWT-based authorization
- Password encryption
- AI-powered course generation via GigaChat API
- Course editing, saving, and deletion
- Hierarchical structure of the course: Lessons → Subtopics
- Subtopic completion tracking
- In-lesson note-taking
- Quiz generation per topic
- Session-based chat with AI
- Last activity tracking
- Achievement system
- XP and level-up mechanics
- Node.js
v18+
- Java JDK
17
- PostgreSQL
14+
- Get a GigaChat API key
- You will need a password for the email to register.
- Copy and configure the environment file:
cp .env.example .env
- Run the application:
docker compose --profile prod up --build -d
- Vue 3 + Composition API
- Pinia (state management)
- Axios (HTTP requests)
- CSS (styling)
- Java 17, Spring Boot 3
- Spring Security, JWT
- PostgreSQL
- GigaChat API (AI integration)
- Lombok, MapStruct, Jsonrepair
- Springdoc-openapi (API docs)
- Maven (build)
- Docker
- Docker profiles (to mantain dev and prod version of frontend)
- GitHub Actions (CI/CD: build, test, deploy)
- JUnit 5
- Spring Boot Test
- Integration Tests
- 🎨 Figma Design
- 🖥️ Demo
- 🖼️ Screenshots:
This project is licensed under the MIT License.
See LICENSE for details.