Этот репозиторий содержит REST API сервис для создания и просмотра объявлений. Сервис предоставляет несколько конечных точек для обработки различных функций, связанных с аутентификацией пользователей, регистрацией, размещением объявлений и отображением ленты объявлений.
-
Аутентификация пользователя
- Конечная точка:
/login
- Метод:
POST
- Тело запроса: JSON с полями
login
иpassword
- Полученный токен необходимо передавать в хедере
Authorization-access
- Конечная точка:
-
Регистрация пользователя
- Конечная точка:
/register
- Метод:
POST
- Тело запроса: JSON с полями
login
иpassword
- Конечная точка:
-
Размещение объявления
- Конечная точка:
/advert
- Метод:
POST
- Тело запроса: JSON с полями
header
,body
,image_url
иprice
- Конечная точка:
-
Отображение ленты объявлений
- Конечная точка:
/feed
- Метод:
GET
- Query parameters:
sort
: Сортировка объявлений (priceUp
,priceDown
,new
,old
)priceMin
: Минимальная цена для фильтрации объявленийpriceMax
: Максимальная цена для фильтрации объявленийpage
: Номер страницы для пагинации
- Конечная точка:
- Вы можете загрузить готовый Docker образ с Docker Hub
docker pull yasminworks/admarket
- Создание Docker образа
docker build . -t admarket:latest
- Создание Docker volume и запуск контейнера
docker volume create ad-market
docker run -d -it -p 8082:8082 -v ad-market:/app/storage admarket
-
Перейдите в корневую папку проекта
-
Установка зависимостей:
go mod download
- Подготовка базы данных:
go run ./cmd/migrator --storage-path=./storage/storage.db --migrations-path=./migrations
- Компиляция и запуск:
go build -o ad-market ./cmd/ad-market/main.go
./ad-market
Если у вас установлена утилита Task, можно запустить сервис командой
task build