api-chat-and-message - REST API для работы с чатами и сообщениями.
- Создание чата
- Удаление чата со всеми сообщениями в этом чате
- Получение чата с N последними сообщениями в этом чате
- Отправка сообщения в чат
- Язык программирования: Python.
- Фреймворк: Django с Django REST Framework.
- Пакетный менеджер: uv
- Инструменты разработки:
- django-debug-toolbar
- pre-commit
- python-dotenv
- База данных: PostgreSQL
- Средства контейнеризации: Docker и Docker-Compose
git clone https://github.com/Dosto4k/api-chat-and-message.gitgit clone git@github.com:Dosto4k/api-chat-and-message.gitcd api-chat-and-message/docker-compose up -d --build5. Приложение доступно по адресу http://127.0.0.1:8000/
docker-compose downПараметры:
- title (Обязательный) - Название чата.
Ограничения:- Длина 1...200 символов
Пример запроса:
POST /chats/
{
"title": "Чат 1"
}Ответ:
{
"id": 1,
"title": "Чат 1",
"created_at": "2026-01-15T20:48:45.993756+03:00"
}Статус коды:
- 201 - Чат создан успешно
- 400 - Невалидные данные
Url параметры:
- {id} - идентификатор чата
Query параметры:
-
limit (Опционально) - Сколько последних сообщений из чата нужно получить.
Ограничения:- Должен быть в диапазоне 1...100
Значение по умолчанию: 20
Пример запроса: GET /chats/1/?limit=2
Ответ:
{
"id": 1,
"title": "Чат 1",
"created_at": "2026-01-15T20:48:45.993756+03:00",
"messages": [
{
"id": 2,
"text": "Сообщение 2",
"created_at": "2026-01-15T20:22:54.054882+03:00",
"chat_id": 1
},
{
"id": 1,
"text": "Сообщение 1",
"created_at": "2026-01-15T19:43:27.849659+03:00",
"chat_id": 1
}
]
}Статус коды:
- 200 - Чат и последние N сообщений получены
- 400 - Невалидный limit
- 404 - Чат с указанным в url id не существует
Url параметры:
- {id} - идентификатор чата
Пример запроса: DELETE /chats/{id}/
Статус коды:
- 204 - Чат и сообщения из этого чата удалены
- 404 - Чат с указанным в url {id} не существует
Url параметры:
- {chat_id} - идентификатор чата
Параметры:
- text (Обязательный) - Текст сообщения.
Ограничения:- Длина 1...5000 символов
Пример запроса:
POST /chats/1/messages/
{
"text": "Сообщение 1"
}Ответ:
{
"id": 1,
"text": "Сообщение 1",
"created_at": "2026-01-15T21:27:18.335121+03:00",
"chat_id": 1
}Статус коды:
- 201 - Сообщение было добавлено в чат {chat_id}
- 400 - Невалидные данные
- 404 - Чат с указанным в url {chat_id} не существует
1. Запустите приложение как описано в разделе Запуск у себя
docker exec -it app /bin/shГде app - Это название docker контейнера с приложением. Указывается в container_name сервиса приложения в docker-compose.yaml
uv run manage.py testexit