Этот проект представляет собой бэкенд приложения "Фильмотека", которое предоставляет REST API для управления базой данных фильмов и актёров.
- Добавление, изменение и удаление информации об актёрах.
- Добавление, изменение и удаление информации о фильмах.
- Получение списка фильмов с возможностью сортировки и поиска.
- Получение списка актёров с их фильмами.
- Авторизация и ролевая система доступа: обычный пользователь и администратор.
- Логирование обрабатываемых запросов и ошибок.
- Покрытие тестами более чем на 70%.
- Docker и docker-compose для удобного развёртывания окружения.
- Использован code-first подход
- Проект выполнен с использованием чистой архитектуры
- Go
- PostgreSQL
- Redis
- Docker
- docker-compose
-
Склонируйте репозиторий:
Для https:
git clone https://github.com/ilyushkaaa/Filmoteka.git
Для ssh:
git clone git@github.com:ilyushkaaa/Filmoteka.git
-
Перейдите в каталог проекта:
cd filmoteka -
Создайте файл
.envи настройте переменные окружения, включая настройки подключения к базе данных. -
Запустите проект с помощью docker-compose:
docker-compose up --build
-
Для работы с функционалом, связанным с изменением данных, то есть, который может выполнять только админ, необходимо вручную добавить в базу данных юзера со значением
adminв полеrole, а далее как и обычный юзер авторизоваться и полученный session_id прикладывать в заголовке запросаCookie -
API будет доступно по адресу
http://localhost:8080.
API документация доступна после запуска приложения по адресу http://localhost:8080/swagger/index.html.