Привет! Меня зовут Айдажы, и это мой проект "REST API для управления чатами и сообщениями". Проект разработан в рамках тестового задания на позицию Junior Golang разработчика.
Запустить проект проще простого:
git clone <ваш-репозиторий>
cd API-chats-and-messages
docker-compose up -d
API теперь доступно по адресу: http://localhost:8512
Проект реализует простое, но полноценное API для работы с чатами и сообщениями. Вот что умеет этот сервис:
- Создание новых чатов
- Отправка сообщений в чаты
- Получение чатов с последними сообщениями
- Удаление чатов (сообщения удаляются автоматически)
- Валидация данных (длины текста, существование чатов)
- Пагинация сообщений (можно указать сколько последних сообщений получить)
- Go 1.25.3 - язык
- PostgreSQL - база данных
- GORM - ORM для работы с БД
- Goose - миграции базы данных
- Docker - контейнеризация
- Gorilla Mux - роутер для HTTP запросов
POST /chats - Создать новый чат
{"title": "Мой первый чат"}
POST /chats/{id}/messages - Отправить сообщение
{"text": "Привет всем в этом чате!"}
GET /chats/{id} - Получить чат с сообщениями (последние 20 сообщений (по умолчанию))
DELETE /chats/{id} - Удалить чат
go mod download
cp .env.example .env
docker-compose up db -d
go run cmd/server/main.go
go test ./tests/... -v