Дипломный проект программы "Фронтенд-разработчик" на Hexlet
Упрощенная версия Slack-чата, демонстрирующая работу с веб-сокетами, REST API, React, Redux, роутингом, авторизацией и современными инструментами сборки.
Live версия: https://frontend-project-12-1-rnx4.onrender.com
- ✅ Регистрация и авторизация пользователей
- ✅ Создание, переименование и удаление каналов
- ✅ Отправка сообщений в реальном времени через WebSocket
- ✅ Фильтрация нецензурных слов
- ✅ Интернационализация (i18n) - поддержка русского языка
- ✅ Обработка ошибок через Rollbar
- ✅ Адаптивный дизайн с Bootstrap
- React 19 - библиотека для построения пользовательских интерфейсов
- Redux Toolkit - управление состоянием приложения
- React Router - маршрутизация на клиенте
- Vite - современный сборщик фронтенда
- Socket.IO Client - обновление данных в реальном времени
- Axios - выполнение HTTP-запросов
- Formik + Yup - работа с формами и валидация
- React Bootstrap - компоненты UI
- react-i18next - интернационализация
- leo-profanity - фильтрация нецензурных слов
- react-toastify - всплывающие уведомления
- Rollbar - отслеживание ошибок
# Клонировать репозиторий
git clone https://github.com/Max-climber/frontend-project-12.git
cd frontend-project-12
# Установить зависимости
make installmake developИли вручную:
# Терминал 1: Запустить API сервер
npx @hexlet/chat-server
# Терминал 2: Запустить фронтенд
cd frontend && npm run devПриложение будет доступно по адресу: http://localhost:5002
# Собрать проект
make build
# Запустить сервер
make startПриложение будет доступно по адресу: http://localhost:5001
frontend-project-12/
├── frontend/ # Фронтенд приложение
│ ├── src/
│ │ ├── components/ # React компоненты
│ │ ├── features/ # Redux слайсы
│ │ ├── pages/ # Страницы приложения
│ │ ├── utils/ # Утилиты
│ │ └── locales/ # Переводы
│ ├── public/ # Статические файлы
│ └── dist/ # Собранный проект
└── package.json # Зависимости проекта
# Запустить линтер
cd frontend && npm run lint
# Запустить тесты Playwright
npx playwright test- Создание новых каналов
- Переименование существующих каналов
- Удаление каналов
- Автоматическое переключение на канал по умолчанию при удалении текущего
- Отправка сообщений в каналы
- Автоматическое обновление через WebSocket
- Фильтрация нецензурных слов
- Отображение имени пользователя и времени
- Регистрация новых пользователей
- Вход в систему
- Сохранение токена в localStorage
- Защита маршрутов
Проект развернут на Render:
- URL: https://frontend-project-12-1-rnx4.onrender.com
- Платформа: Render Free Tier
- Автоматический деплой: при пуше в main ветку
Проект выполнен в рамках обучения на Hexlet
ISC
Сделано с ❤️ для изучения современной фронтенд-разработки