Go to file
2025-09-04 23:55:22 +05:00
app go back on end session 2025-09-04 23:55:22 +05:00
components go back on end session 2025-09-04 23:55:22 +05:00
hooks add interview 2025-09-03 14:37:38 +05:00
lib init 2025-08-31 00:27:33 +05:00
services add interview 2025-09-03 14:37:38 +05:00
types add interview 2025-09-03 14:37:38 +05:00
.env.example add interview 2025-09-03 14:37:38 +05:00
.eslintrc.json init 2025-08-31 00:27:33 +05:00
.gitignore init 2025-08-31 00:27:33 +05:00
next-env.d.ts init 2025-08-31 00:27:33 +05:00
next.config.js init 2025-08-31 00:27:33 +05:00
package.json add interview 2025-09-03 14:37:38 +05:00
postcss.config.js init 2025-08-31 00:27:33 +05:00
README.md add interview 2025-09-03 14:37:38 +05:00
tailwind.config.js init 2025-08-31 00:27:33 +05:00
tsconfig.json init 2025-08-31 00:27:33 +05:00
yarn.lock add interview 2025-09-03 14:37:38 +05:00

HR AI Frontend

Современная платформа для поиска работы с искусственным интеллектом, построенная на Next.js и TypeScript.

Возможности

  • 📋 Просмотр списка вакансий с поиском и фильтрацией
  • 🔍 Детальная информация о каждой вакансии
  • 📄 Загрузка резюме с уведомлением о подготовке сессии собеседования
  • 🔐 Авторизация через cookie-сессии (без JWT)
  • 🎨 Современный и адаптивный дизайн
  • Быстрая загрузка и отзывчивый интерфейс

Технологический стек

  • Framework: Next.js 14 (App Router)
  • Language: TypeScript
  • Styling: Tailwind CSS
  • Icons: Lucide React
  • HTTP Client: Fetch API с cookie-авторизацией

Быстрый старт

  1. Установите зависимости:
yarn install
  1. Создайте файл .env.local (уже создан):
NEXT_PUBLIC_API_BASE_URL=http://localhost:8000
  1. Запустите development сервер:
yarn dev
  1. Откройте http://localhost:3000 в браузере

Структура проекта

├── app/                    # Next.js App Router
│   ├── globals.css        # Глобальные стили
│   ├── layout.tsx         # Корневой layout
│   ├── page.tsx          # Главная страница (список вакансий)
│   └── vacancy/[id]/     # Страница детальной информации о вакансии
├── components/           # React компоненты
│   └── ResumeUploadForm.tsx
├── lib/                  # Утилиты и API клиент
│   └── api-client.ts
├── types/               # TypeScript типы
│   └── api.ts
└── public/              # Статические файлы

API Integration

Приложение интегрируется с HR AI Backend API:

Основные эндпоинты:

  • GET /api/v1/vacancies/ - Получение списка вакансий
  • GET /api/v1/vacancies/{id} - Получение вакансии по ID
  • POST /api/v1/resumes/ - Загрузка резюме
  • GET /api/v1/sessions/current - Получение информации о сессии

Авторизация:

Все запросы выполняются с credentials: 'include' для работы с cookie-сессиями.

Особенности реализации

Загрузка резюме

  • Поддержка файлов: PDF, DOC, DOCX, TXT
  • Максимальный размер файла: 10 МБ
  • Валидация формы перед отправкой
  • Уведомление об успешной отправке

Поиск вакансий

  • Поиск по названию вакансии
  • Фильтрация активных вакансий
  • Красивое отображение карточек вакансий

Детальная страница вакансии

  • Полная информация о вакансии
  • Контактные данные
  • Форма для отклика прямо на странице

Скрипты

  • yarn dev - Запуск в режиме разработки
  • yarn build - Сборка продакшн версии
  • yarn start - Запуск продакшн версии
  • yarn lint - Проверка кода с ESLint

Стилизация

Проект использует Tailwind CSS для стилизации с кастомной темой:

  • Основной цвет: Blue (primary-*)
  • Адаптивный дизайн для всех устройств
  • Современные компоненты с hover эффектами

Будущие улучшения

  • Пагинация для списка вакансий
  • Расширенные фильтры (по зарплате, опыту, локации)
  • Избранные вакансии
  • История откликов
  • Уведомления в реальном времени