Skip to content

ereburg/gora-chat-test

Repository files navigation

GORA Chat Test

SPA-экран чата для тестового задания GORA (React + TypeScript + Vite).

Ссылки

Технологии

  • React 19 + TypeScript
  • shadcn/ui (base-nova)
  • Tailwind CSS v4
  • Jotai (клиентское/UI-состояние)
  • TanStack Query (асинхронные сценарии отправки/ответа)
  • Biome (линт и форматирование)

Запуск

bun install
bun dev

Альтернатива через npm:

npm install
npm run dev

Скрипты

  • bun lint / npm run lint — проверка линтером (biome check .)
  • bun format / npm run format — форматирование (biome format --write .)
  • bun check / npm run check — дополнительная проверка (biome check .)
  • bun typecheck / npm run typecheck — проверка типов (tsc --noEmit)
  • bun build / npm run build — production-сборка

Реализовано

  • Экран чата: сайдбар + лента сообщений
  • Несколько чатов, поиск и переключение
  • Статусы сообщений: sending -> sent -> read, failed + повторная отправка
  • Оптимистичная отправка
  • Случайная ошибка отправки (~20%)
  • Ответ бота с задержкой 1–2 сек
  • Индикатор «Бот печатает...»
  • Отмена отправки в статусе sending
  • Дедупликация сообщений (исходящие + ответы бота в окне времени)
  • Персистентность истории через localStorage
  • Адаптивная вёрстка (desktop + mobile)
  • Переключение темы (светлая / тёмная / системная)
  • Меню действий чата (поиск, mute, очистка, экспорт, удаление)

About

Test task Chat UI

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors