Skip to content

Aidajy111/API-chats-and-messages

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

API для чатов и сообщений

Привет! Меня зовут Айдажы, и это мой проект "REST API для управления чатами и сообщениями". Проект разработан в рамках тестового задания на позицию Junior Golang разработчика.

Быстрый старт

Запустить проект проще простого:

1. Клонируем репозиторий

git clone <ваш-репозиторий>
cd API-chats-and-messages

2. Запускаем одной командой

docker-compose up -d

API теперь доступно по адресу: http://localhost:8512

Проект реализует простое, но полноценное API для работы с чатами и сообщениями. Вот что умеет этот сервис:

  • Создание новых чатов
  • Отправка сообщений в чаты
  • Получение чатов с последними сообщениями
  • Удаление чатов (сообщения удаляются автоматически)
  • Валидация данных (длины текста, существование чатов)
  • Пагинация сообщений (можно указать сколько последних сообщений получить)

Технологии под капотом:

  • Go 1.25.3 - язык
  • PostgreSQL - база данных
  • GORM - ORM для работы с БД
  • Goose - миграции базы данных
  • Docker - контейнеризация
  • Gorilla Mux - роутер для HTTP запросов

API Endpoints

POST /chats - Создать новый чат

{"title": "Мой первый чат"}

POST /chats/{id}/messages - Отправить сообщение

{"text": "Привет всем в этом чате!"}

GET /chats/{id} - Получить чат с сообщениями (последние 20 сообщений (по умолчанию))

DELETE /chats/{id} - Удалить чат

Запуск для разработки

1. Установите зависимости

go mod download

2. Настройте .env файл (скопируйте из примера)

cp .env.example .env

3. Запустите БД

docker-compose up db -d

4. Запустите приложение

go run cmd/server/main.go

Запуск тестов

go test ./tests/... -v

About

API чатов и сообщений

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors