Бекенд для голосования за песни

20 000 руб. за проект
19 марта 2020, 19:18 • 6 откликов • 65 просмотров
Нужно разработать бекенд для работы функционала в приложении. Должно быть просто и функционально.
Нужно будет взаимодействовать с разработчиком клиентской части на андроиде.
Задача считается принятой после тестирования.

Оплату можно разбить на 2 части:
1) Работа с профилем и голосами(+автоматическое добавление голосов)
2) Работа с песней и голосованием

После выполнения части - оплата 10000 рублей.

GUI:
https://www.figma.com/file/96Givm4pDl7C1osbX4H9Oa/%D0%93%D0%BE%D0%BB%D0%BE%D1%81%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%B7%D0%B0-%D0%BF%D0%B5%D1%81%D0%BD%D0%B8-%D0%B8-%D1%83%D1%80%D0%BE%D0%BA%D0%B8?node-id=0%3A1

Список песен хранится в realtimebase.

Процесс(юзер не авторизован):
Юзер заходит в приложение
Юзер видит нотификацию о голосах (красный кружок)
Юзер заходит в раздел голосования
Юзер видит список песен для голосования
Юзер жмет на одну из песен
Юзер видит экран с данными о песне и комментами
Юзер хочет проголосовать
Чтобы потратить голос требуется подписка
Страница авторизации
сохраняем ID пользователя
в списке пользователей сохраняется пользователь с одним голосом
Открывается форма голосования, юзер вводит данные
На сервере проверяется пользователь, что у него хватает голосов. В песню добавляется голос.
Можно подредактировать текст комментария
Можно добавить новую песню
Каждый месяц всем авторизованным пользователям выдается по одному голосу

Предположительно по методам (firebase functions) которые требуется разработать для данного процесса:
1) Разработать таймер - Каждый месяц(от дня регистрации) всем авторизованным пользователям выдается по одному голосу
2) При авторизации пользователю даётся 1 голос (вероятно сохранение в Realmtimebase по идентификатору пользователя)
3) Добавить новую песню
4) Проголосовать за песню
5) Редактировать текст комментария
6) Получить количество голосов пользователя, его сохраненную аву имя фамилию
7) Редактировать пользователя, аву имя и фамилию
Очень важно, чтобы было нельзя накрутить голоса.

Решение нужно выполнить для 2х разных приложений.