Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/go-park-mail-ru/2022_2_bugoverload

Backend project Movie-gate.online - analogue of Kinopoisk
https://github.com/go-park-mail-ru/2022_2_bugoverload

alpine backend cd ci clear-architecture docker docker-compose easyjson golang grafana grpc-go metrics microservices performance-testing pgx postgresql prometheus s3 swagger websocket

Last synced: 5 days ago
JSON representation

Backend project Movie-gate.online - analogue of Kinopoisk

Awesome Lists containing this project

README

        

# MovieGate

Сервис для подбора кино «MovieGate»

## 1. Что за сервис? Для чего он нужен? Какие проблемы и задачи пользователей он решает?

MovieGate - это агрегатор фильмов, сериалов, актёров, режиссеров и пр. В нашем сервисе пользователь получает:

- Возможность находить информацию о фильмах, сериалах, актерах.
- Возможность просматривать отзывы о проектах.
- Облегченный поиск фильмов при помощи гибких фильтров.
- Возможность посмотреть всю информацию о фильме: начиная от оригинального названия и заканчивая трейлером.
- Возможность создавать свои уникальные коллекции фильмов согласно предпочтениям и вкусам. Каждый соберет коллекцию под
любое настроение и жанровые предпочтения.
- Возможность посмотреть коллекции от редакции сервиса
- Возможность создавать публичные коллекции, доступные для просмотра другим пользователям. Самые популярные коллекции
- попадут в специальный раздел сервиса.
- Также, хотелось бы отметить:
- На основании оценок пользователя сервис создает персональные рекомендации-коллекции с фильмами, учитывающие
предпочтения пользователя.
- На MovieGate вы сможете обсудить понравившуюся картину, оценить ее и тем самым повлиять на выбор других киноманов.
- Наш сервис помогает пользователю следить за новинками и оставаться в курсе всех последних фильмов.

## 2. Кто его целевая аудитория, какими критериями её можно описать?

Наш сервис нацелен на аудиторию в возрасте 14-65 лет. Это люди, которые:

- Хотят узнать информацию об интересующих фильмах, актёрах и пр.
- Хотят быстро найти кино, которое придется по вкусу по жанрам, актуальности, рейтингу, с любимыми актерами или
режиссерами.
- Хотят иметь возможность создавать свои коллекции, к которой можно возвращаться.
- Хотят знать мнение других пользователей и иметь возможность высказать свою точку зрения
- Хотят знать что сейчас показывают на больших экранах
- Хотят быть в курсе какое сейчас кино популярно

## 3. В чем плюсы и минусы вашего сервиса, чем он круче конкурентов?

### Плюсы:

- Продуманная система рекомендаций. Поиск похожих фильмов, и рекомендации согласно активности пользователя.
- Рейтинг от сообщества и рейтинг от других агрегаторов, подробная информация о кино, система отзывов, коллекций -
все в одном месте.
- Возможность всем пользователям сообщества составлять свой список фильмов, доступный из профиля.
- Самая подробная информация о фильме, начиная с описания и заканчивая трейлером.

### Минусы:

- Нет функции онлайн кинотеатра
- Нет новостей в сфере кино

Что делает сервис лучше конкурентов:
- Возможность для пользователя создавать свои коллекции. Данная фича уникальна для подобных сервисов.

## 4. Экономическая модель
- Арендные баннеры.
- Реклама в трейлерах
- Партнерская программа с кинокомпаниями, кинотеатрами и онлайн-кинотеатрами о продвижении продукции или PR.

Подписка на:
- отключение рекламы.
- снятие ограничений в каком-либо функционале.
- больше уведомлений в браузере.

# Примечание

[Демо](https://www.youtube.com/watch?v=MOiBZshB6GA)

[Деплой](http://movie-gate.ru/)

API [документация](https://app.swaggerhub.com/apis/BugOverload/API-Kino/1.0.0)

Макеты [дизайна](https://www.figma.com/file/WIbsjIKSCPSJph8XJ12ArL/Untitled?node-id=90%3A185)

Кодовая база [frontend'a](https://github.com/frontend-park-mail-ru/2022_2_BugOverload)

## Авторы

BugOverload

* [**Бирюков Иван**](https://github.com/Ivan-Bir) - *Frontend-developer*
* [**Волков Михаил**](https://github.com/Mike5535) - *Frontend-developer*
* [**Анофриков Александр**](https://github.com/Andeo1812) - *Backend-developer*
* [**Ходосов Михаил**](https://github.com/lonkidely) - *Fullstack-developer*

## Менторы

* [**Сарафанников Александр**](https://github.com/Sarafa2n) - *Frontend*
* [**Трущелёв Михаил**](https://github.com/ThePsina) - *Backend*
* [**Шишова Анастасия**](https://github.com/NellinLin) - *Interfaces*

## Аннотация

Проект выполнен на:

* [чистой архитектуре](https://github.com/bxcodec/go-clean-arch/tree/9e174b8b0bbdfbab69bc293bb2905b2bb622155c)
* [производственном макете](https://github.com/golang-standards/project-layout/tree/721df07f8281bbf8f441ea9f74f108747e60b679)

## Технологический стек

- Golang
- PostgreSQL
- GRPC
- EasyJSON
- Microservices
- S3
- Grafana
- PgAdmin
- Alpine
- Docker
- docker-compose
- Prometheus
- vegeta - модуль для нагрузочного тестирования
- CI/CD
- websocket

## Модули приложения

- Наполнитель данных для базы
- Генератор данных
- Модуль нагрузочного тестирования
- Приложение на 5 микросервисах (notification в api пока)

## Архитектура

![first_iter](https://user-images.githubusercontent.com/88785411/215279366-a88d052b-caed-48ff-aebd-d746a7ad8856.jpg)