Week #6 #
π Links #
- Deployment:
- API Docs:
- While deployed SwaggerAPI docs could be accesed at localhost:8000/docs
- Simple documentation could be accessed here
- Design:
- Our design could be found on figma
- Demo:
- Here you can find demo video of our project
- GitHub Repository:
- Here you can find all source codes
- Kanban Board:
- Here you can find our backlog with all tasks
- Final Presentation Preview:
- Here you can find our final presentaion
- Final Presentation Plan:
- Here you can find our script
π Final deliverables #
π Project overview #
KIZAK is an AI-powered learning assistant designed to guide users through their journey in the IT field. It builds personalized learning paths, recommends daily and weekly tasks, and supports users while keeping track of their skills and progress.
π Features #
- Onboarding: Personalized user profile creation with topic selection and skill assessment
- Personal Recommendations: Daily/weekly curated courses and tasks from platforms like Coursera, Stepik or EDX
- Personal Roadmaps generated specially for each user
π οΈ Tech Stack #
Backend #
- FastAPI π - A lightweight Python web framework for building scalable APIs and backend services.
- PostgreSQL π - A powerful, open-source relational database with strong extensibility and SQL compliance.
Frontend #
- React βοΈ - Fast and popular JavaScript library for building dynamic, component-based user interfaces.
- Next.js β² - React framework for server-side rendering, static sites, and scalable web apps.
- Tailwind CSS π¨ - Utility-first CSS framework for rapid UI development with minimal custom CSS.
- Redux π - State management library for predictable global state in JavaScript apps.
ML / AI #
- Transformers π€ - Hugging Faceβs library for state-of-the-art NLP models
β‘ Setup instructions #
Requirements #
To run this project make sure that your docker-compose version is 2.24.0 or higher
docker-compose -v
# Docker Compose version v2.24.0-desktop.1
Note that your locally deployed database will not have any data. You can run db_populate script that will fill up data with our courses
In case if you used our application, make sure that your DB have an actual schema. To update schema, delete db/pg_data folder
Deploy #
First, clone the project:
git clone https://github.com/IU-Capstone-Project-2025/KIZAK
cd KIZAK
Now set up .env file:
# Database configuration
DB_HOST=db
DB_PORT=5432
DB_USER=user
DB_PASSWORD=password
DB_NAME=db
QD_API_KEY=1234apikey
QD_URL=url
# CORS configuration
CORS_ORIGINS=http://localhost
# API configuration
API_HOST=backend
API_PORT=8000
# Frontend configuration
FRONTEND_HOST=frontend
FRONTEND_PORT=3000
FRONTEND_HOST_PORT=3000
SECRET_KEY=ApplicationSecretKey
ALGORITHM=HS256
ACCESS_TOKEN_EXPIRE_MINUTES=1440
MAIL_USERNAME=kizak.inno
MAIL_PASSWORD=qhdz uxqj wxuf ubkp
MAIL_FROM=kizak.inno@gmail.com
MAIL_PORT=587
MAIL_SERVER=smtp.gmail.com
MAIL_FROM_NAME=KIZAK Team
DOMAIN=localhost:8000
Also create .env.local in front folder:
NEXT_PUBLIC_API_URL=http://localhost:8000
Then build and run the project using Docker Compose:
docker-compose up --build
Visit localhost:8000/docs to access KIZAK API docs or localhost:3000 to see front part
Presentation draft #
Our oresentation draft can be found here
Here you can find our script
π Weekly commitments #
π Individual contribution of each participant #
Marsel Berheev: m.berheev@innopolis.university
- Report
- Feedback support (see pull request)
- Added ml microservice (see pull request)
Maksim Malov: m.malov@innopolis.university
- Tests update (see pull requests)
- Mali auth support (see pull request)
- Code refactor
Makar Egorov: m.egorov@innopolis.university
- Automatic course scrapper service (see pull request)
Timur Farizunov: t.farizunov@innopolis.university
- Fronted bugs fixes (see pull requests)
Sarmat Lutfullin: s.lutfullin@innopolis.university
- Mail support (see pull requets)
Ulyana Chaikovskaya: u.chaikouskaya@innopolis.university
- Course normalisation (see pull request)
Kseniia Khudiakova: k.khudiakova@innopolis.university
- Feedback support (see commit)
π― Plan for Next Week #
- Finilaze dataset
- Bug fixes
- Documentation finalization
Confirmation of the codeβs operability #
We confirm that the code in the main branch:
- In working condition.
- Run via docker-compose (or another alternative described in the
README.md
).