AAYMA
RU
Войти

Iske

Платформа, где бизнес описывает идею, AI задаёт уточняющие вопросы и формирует карточку задачи с рейтингом готовности, а студенческие команды…

Рабочий MVP
Команда «Мы случайно регнулись» 10💬 0 комментариевс 23 сентября 2026 г.

О проекте

Команда: Мы случайно регнулись
Кейс HackAlem.ai: Образование — AI Sana
Стадия: Рабочий MVP

Задача кейса: Challenge Hub: превратить задачу бизнеса в задание для студенческих команд

Суть

Платформа, где бизнес описывает идею, AI задаёт уточняющие вопросы и формирует карточку задачи с рейтингом готовности, а студенческие команды откликаются из каталога; решение по откликам бизнес принимает вручную.

Как устроено

Django-бэкенд (tasks_app) хранит модели Task, Team, Proposal в SQLite. Сервис ai_helper по промпту prompts/task_clarification.json через OpenAI анализирует каждое поле задачи и генерирует уточняющие вопросы, без ключа используются резервные вопросы. scoring.py считает рейтинг готовности по качеству содержания. React/TypeScript-фронт (Vite) показывает панели для бизнеса и студента, каталог и отклики. Демо-данные загружает команда seed_demo.

Ключевые решения

  • AI-уточнение полей задачи
  • скоринг готовности задачи
  • fallback-вопросы без LLM

Стек

Python · Django · SQLite · React 19 · TypeScript · Vite · pnpm · Vitest

Модели

OpenAI API


Проект создан за 5 часов на финале хакатона HackAlem.ai (23 сентября 2026, Астана). Код — BAITC-Hacks/hack-798d3eac-team.

README

README.md

Iske

Python Django React TypeScript SQLite

РазделДля бизнесаДля студента
ГлавнаяЧерновики, задачи в каталоге, отклики и требующие внимания результатыМои проекты, новые задачи и отправки на проверку
КаталогОпубликованные задачи и их готовностьПоиск и фильтры задач
Мои задачиСозданные компанией задачиПринятые задачи и их этапы
Отклики / отправкиПредложения команд и результатыМои отклики, работы и замечания
ПрофильКонтакт и формат взаимодействияНавыки, интересы и технологии команды

Не прячьте часто используемые действия в глубокие подменю. Показывайте активный раздел и понятные статусы рядом с названиями.

Рабочие панели по ролям

  • Бизнес видит одну панель управления: незавершённые черновики, задачи с низким рейтингом, новые отклики и результаты, ожидающие решения. Каждая строка содержит короткий контекст и действие, например «Продолжить», «Сравнить отклики» или «Посмотреть результат».
  • Студент видит рабочий стол проекта: принятые задачи, ближайшие этапы, последние замечания ИИ и кнопку продолжения работы. Каталог остаётся доступен рядом.
  • На обеих панелях показывайте только действительно требующие внимания элементы; завершённую активность можно свернуть в историю.

Создание задачи без длинного мастера

  1. Бизнес начинает с одного большого поля «Опишите идею или проблему». Поля карточки можно заполнить позже.
  2. ИИ задаёт вопросы прямо в контексте черновика. Ответы сразу обновляют карточку, рейтинг и список недостающей информации.
  3. Карточка остаётся доступной для редактирования на той же странице: без отдельного экрана на каждое поле и без повторного ввода уже известных данных.
  4. Система автоматически сохраняет черновик и показывает подтверждение сохранения. Публикация — явное действие с кратким предпросмотром.
  5. После публикации бизнес возвращается в панель управления, где видит задачу и входящие отклики.

Обязательные поля и необязательные улучшения следует различать визуально. Не блокируйте сохранение черновика из-за незаполненных полей; объясняйте, что потребуется заполнить для публикации.

Каталог, отклики и работа над задачей

  • В каталоге используйте поиск, фильтры и сортировку на одном экране. Выбранные фильтры видны и снимаются по одному или одной кнопкой «Сбросить».
  • Карточка в каталоге показывает ключевые сведения, уровень готовности, ограничения и ожидаемый результат. Подробности можно раскрыть на месте или в боковой панели, сохраняя позицию в списке.
  • Отправка отклика выполняется в одной компактной форме: идея решения, план и срок; ссылка на прототип необязательна. После отправки отображается статус и дальнейший шаг.
  • Бизнес сравнивает отклики в едином списке с одинаковым набором полей и принимает решение без перехода между множеством экранов.
  • Принятая команда открывает рабочее пространство задачи: требования, материалы, критерии проверки и история отправок находятся вместе.
  • Результат отправляется одной формой. Отчёт ИИ показывает статус каждого критерия и точные замечания; если нужно исправление, команда может обновить отправку из этого же пространства.

Удобство и предсказуемость

  • Сохраняйте черновики автоматически и позволяйте вернуться к ним с того же места.
  • После действия показывайте понятный результат и следующий шаг; не заставляйте пользователя угадывать, сохранились ли данные.
  • Для важных бизнес-решений (публикация, принятие или отклонение отклика, подтверждение результата) показывайте краткое подтверждение действия и его последствия.
  • Используйте одинаковые названия и статусы во всех разделах: например, «На рассмотрении», «Принят», «Отклонён», «Нужна доработка».
  • Поддерживайте клавиатурную навигацию, видимый фокус, достаточный контраст, понятные подписи полей и сообщения об ошибках рядом с соответствующим полем.
  • Не используйте эмодзи вместо текста кнопок или статусов. Эмодзи подходят для дружелюбных акцентов; основное действие должно быть названо словами.

✨ Целевой ориентир: частый сценарий должен проходиться последовательно в одной рабочей области, без повторного ввода информации и лишних переходов между страницами.

🗂️ Карточка задачи

Документ объединяет кейс хакатона AI Sana «Рейтинг качества бизнес-задач и открытый выбор команд» с описанием существующей модели данных проекта Iske. Сохранены основные поля и правила Task, Team и Proposal, включая веса рейтинга и ручное решение бизнеса по откликам. Уточнение идеи, сдача выполненной работы и ИИ-проверка включены в продуктовый сценарий; для последних этапов README отдельно обозначает модели и статусы, которых пока нет в перечисленной базовой схеме.

Установка и запуск Iske

Требования

Установите Git, Python, Node.js и pnpm. Для работы ИИ понадобится ключ OpenAI API; без него приложение сможет использовать резервные вопросы.

1. Склонируйте репозиторий

  git clone <ссылка-на-репозиторий>
  cd <папка-репозитория>

2. Настройте Django

Создайте виртуальное окружение и установите зависимости.

Linux / macOS:

  python3 -m venv .venv
  source .venv/bin/activate
  pip install -r requirements.txt

Windows PowerShell:

  py -m venv .venv
  .\.venv\Scripts\Activate.ps1
  pip install -r requirements.txt

Скопируйте .env.example в .env в корне репозитория. Впишите свой ключ OpenAI в API_KEY, если нужен анализ задач через ИИ. Не публикуйте .env и не отправляйте его в репозиторий.

Linux / macOS:

  cp .env.example .env

Windows PowerShell:

  Copy-Item .env.example .env

Примените миграции и запустите сервер:

  python backend/manage.py migrate
  python backend/manage.py runserver 127.0.0.1:8000

Оставьте это окно терминала открытым. Проверить работу API можно по адресу:

http://127.0.0.1:8000/api/health/

3. Настройте React

Откройте второй терминал в корне репозитория и перейдите в папку фронтенда:

  cd frontend
  corepack enable
  pnpm install --frozen-lockfile
  pnpm dev

Откройте адрес, который Vite покажет в терминале. Обычно это:

http://127.0.0.1:5173/

Фронтенд обращается к Django через /api; Vite перенаправляет эти запросы на порт 8000.

4. Загрузите демонстрационные данные — необязательно

В терминале с активным Python-окружением выполните:

  python backend/manage.py seed_demo

Чтобы приложение работало, держите запущенными оба сервера: Django и Vite. | Порт уже занят | Остановите предыдущий процесс или запустите сервер на другом порту согласно настройкам проекта |

Звёзды
⭐ 0
Форки
0
Язык
TypeScript
Последний push
в прошлом месяце
Коммиты
32
Авторы
4
Файлы
43
Ветки
1

Авторы коммитов

Eva-haze 14TouhruCreative 12Alexey Shott 3DoctorXYZ 3

История коммитов

  • 2026-09-23 17:23Score task readiness by content qualityTouhruCreative
  • 2026-09-23 17:23Rebrand frontend as IskeTouhruCreative
  • 2026-09-23 17:23Update Iske taglineTouhruCreative
  • 2026-09-23 17:23Show readiness context beside task scoreTouhruCreative
  • 2026-09-23 17:14Update README.mdEva-haze
  • 2026-09-23 17:12Update README.mdAlexey Shott
  • 2026-09-23 17:06Update README.mdAlexey Shott
  • 2026-09-23 17:01Update README.mdEva-haze
Все коммиты (32)
  • 2026-09-23 16:56Revise README for project overview and rolesEva-haze
  • 2026-09-23 16:32Frontend updatesDoctorXYZ
  • 2026-09-23 16:27Update task_clarification.jsonEva-haze
  • 2026-09-23 16:04Update README.mdEva-haze
  • 2026-09-23 16:02Add initial Django schema migrationTouhruCreative
  • 2026-09-23 16:02Analyze every task field for clarificationsTouhruCreative
  • 2026-09-23 15:58Delete frontend/README.mdEva-haze
  • 2026-09-23 15:46Add OpenAI task analysis and align backend MVPTouhruCreative
  • 2026-09-23 15:46Move task clarification prompt to prompts directoryTouhruCreative
  • 2026-09-23 15:31Add tests for App component using VitestEva-haze
  • 2026-09-23 15:13Update README.mdEva-haze
  • 2026-09-23 15:12Frontend Django REST endpointsDoctorXYZ
  • 2026-09-23 15:01Create testEva-haze
  • 2026-09-23 15:01Delete testEva-haze
  • 2026-09-23 14:58Add unit tests for Task, Team, and Proposal modelsEva-haze
  • 2026-09-23 14:47Update README.mdEva-haze
  • 2026-09-23 14:42Update README.mdAlexey Shott
  • 2026-09-23 14:37FrontendDoctorXYZ
  • 2026-09-23 14:31Update README.mdEva-haze
  • 2026-09-23 14:25Merge remote-tracking branch 'origin/main'TouhruCreative
  • 2026-09-23 14:24Add Django backend scaffold and env exampleTouhruCreative
  • 2026-09-23 14:18Update README.mdEva-haze
  • 2026-09-23 13:59Add Python dependenciesTouhruCreative
  • 2026-09-23 13:50Add .gitignoreTouhruCreative
Структура репозитория (43 файлов)
.env.example
.gitignore
README.md
backend/config/__init__.py
backend/config/asgi.py
backend/config/settings.py
backend/config/urls.py
backend/config/wsgi.py
backend/manage.py
backend/tasks_app/__init__.py
backend/tasks_app/admin.py
backend/tasks_app/apps.py
backend/tasks_app/management/__init__.py
backend/tasks_app/management/commands/__init__.py
backend/tasks_app/management/commands/seed_demo.py
backend/tasks_app/migrations/0001_initial.py
backend/tasks_app/migrations/__init__.py
backend/tasks_app/models.py
backend/tasks_app/services/__init__.py
backend/tasks_app/services/ai_helper.py
backend/tasks_app/services/scoring.py
backend/tasks_app/task_fields.py
backend/tasks_app/urls.py
backend/tasks_app/views.py
backend/test
frontend/README.md
frontend/index.html
frontend/package-lock.json
frontend/package.json
frontend/pnpm-lock.yaml
frontend/src/api/http.ts
frontend/src/api/services.ts
frontend/src/app/App.tsx
frontend/src/domain/models.ts
frontend/src/main.tsx
frontend/src/styles.css
frontend/src/vite-env.d.ts
frontend/test
frontend/tsconfig.json
frontend/tsconfig.tsbuildinfo
frontend/vite.config.ts
prompts/task_clarification.json
requirements.txt

Обсуждение 0 комментариев

Войдите, чтобы комментировать

Пока нет комментариев — будьте первым.