Week #6

Week #6 #

  • Deployment:
  • API Docs:
  • 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 #

🎯 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).