An open API service indexing awesome lists of open source software.

https://github.com/ra1nz0r/zero_agency

ТЗ: REST API для управления новостями.
https://github.com/ra1nz0r/zero_agency

authorization docker-compose fiber golang migration postgresql sqlc

Last synced: 3 months ago
JSON representation

ТЗ: REST API для управления новостями.

Awesome Lists containing this project

README

        

ТЗ: Реализация онлайн библиотеки песен 🎶

**Представляет собой онлайн библиотеку песен, где пользователи могут просматривать тексты песен различных исполнителей.**

- **В проекте реализованы REST методы**:
- [x] Добавление песни[^1].
- [x] Получение данных библиотеки с фильтрацией по всем полям и пагинацией.
- [x] Получение текста песни с пагинацией по куплетам[^2].
- [x] Удаление песни.
- [x] Изменение параметров песни.

**Реализована Swagger документация и доступна по эндпойнту `/swagger/index.html#/`, после запуска сервера.**

[Инструкция по локальному запуску и информация по приложению.](#local)

---

#### Инструкция по локальному запуску и информация по приложению.

_Для изменения стандартных параметров, нужно изменить значения в `.env` файле корня проекта._

По-умолчанию приложение запускается на `localhost:7654`

- Программу можно запускать двумя способами через терминал. - Обычные команды. - Короткими командами из TaskFile.

- **_Для запуска приложения в терминале._**\
`go run ./cmd/app` или `task run`

- **_Для запуска тестов в терминале._**\
`go test -v ./... -count=1` или `task test`

---

[^1]: При добавлении песни, происходит подключение ко внешнему API для получения дополнительных данных. Если запрос завершается неудачей, то песня будет добавлена без дополнительных параметров.

[^2]: Текст разбивается на куплеты по символу '\n\n', в самих же куплетах символ '\n' заменяется переносом на новую строчку.