Speak — универсальный мессенджер
Speak — это мессенджер, в котором легко и доступно общаться.
Отлично подходит для повседневного общения и малого бизнеса.
🧩 Ключевые сценарии (MVP)
Регистрация / вход
Создание личного и группового чата
Приглашение участников
Отправка и получения сообщений в реальном времени
Редактирование сообщений в реальном времени
Редактирование и просмотр профиля
Полный список User Stories — в документе выше.
Слой
Технологии
Backend
Python 3.11+, FastAPI, SQLAlchemy 2.0 (async), Alembic
Database
PostgreSQL 15+, Redis 7+
Auth
JWT (access + refresh)
Frontend
React 18+, Zustand, Axios, Socket.io-client
Infrastructure
Docker, Docker Compose, GitHub Actions
Метод
Эндпоинт
Описание
POST
/api/v1/auth/register
Регистрация пользователя
POST
/api/v1/auth/login
Вход в систему (JWT)
POST
/api/v1/auth/refresh
Обновление access токена
POST
/api/v1/auth/logout
Выход
Метод
Эндпоинт
Описание
GET
/api/v1/users/me
Получить свой профиль
PATCH
/api/v1/users/me
Обновить профиль
Метод
Эндпоинт
Описание
GET
/api/v1/chats
Список чатов пользователя
POST
/api/v1/chats/private
Создать личный чат
POST
/api/v1/chats/group
Создать групповой чат
GET
/api/v1/chats/{chat_id}
Детали чата
POST
/api/v1/chats/{chat_id}/invite
Сгенерировать ссылку-приглашение
POST
/api/v1/chats/join/{invite_code}
Вступить по ссылке
Метод
Эндпоинт
Описание
GET
/api/v1/chats/{chat_id}/messages
История сообщений (пагинация)
POST
/api/v1/chats/{chat_id}/messages
Отправить сообщение
Эндпоинт
Описание
ws://localhost:8000/ws/{user_id}
Подключение к WebSocket (с JWT в query params)
Docker / Docker Compose
Python 3.11+ (для локальной разработки без Docker)
Node.js 18+ (для фронтенда)
Запуск через Docker Compose (рекомендовано)
# 1. Клонировать репозиторий
git clone https://github.com/your-team/speak.git
cd speak
# 2. Скопировать и настроить переменные окружения
cp backend/.env backend/.env
cp frontend/.env frontend/.env
# 3. Запустить все сервисы
docker-compose up -d
# 4. Применить миграции БД
docker-compose exec backend alembic upgrade head
Репозиторий: https://github.com/vinolix88/speak.git
Kaiten: https://aipodolskaya88.kaiten.ru/space/573977/boards
Google Drive (отчетность): https://drive.google.com/drive/folders/1Pz0iUUDjw11oXb3WDSIryYetoW2Q_Fzd?usp=drive_link
ER-диаграмма: https://drive.google.com/drive/folders/1Pz0iUUDjw11oXb3WDSIryYetoW2Q_Fzd?usp=drive_link
Use Case Diagram: https://drive.google.com/drive/folders/1Pz0iUUDjw11oXb3WDSIryYetoW2Q_Fzd?usp=drive_link