Skip to content

Sm1Le55/rosberry

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Задание:

Разработать API и структуру БД для обеспечения работы мобильного приложения с указанным функционалом.

Функционал приложения:

  1. Регистрация/авторизация по email/password

  2. Редактирование профиля

    • Имя
    • Аватар
    • Возраст
    • Интересы
  3. Редактирование настроек отображения списка Показывать мне профили возрастной группы – Все – 18 - 24 – 25 - 40 – Старше 40 Не показывать мой профиль возрастной группе – Все – 18 - 24 – 25 - 40 – Старше 40 Показывать профили с указанными интересами Не показывать профили с указанными интересами

Исходное:

Показывать профили с интересами – Интерес 1: да/нет/не важно – Интерес 2: да/нет/не важно – Интерес 3: да/нет/не важно Не показывать профили с интересами – Интерес 1: да/нет/не важно – Интерес 2: да/нет/не важно – Интерес 3: да/нет/не важно

Было изменено чтобы избежать коллизий (что делать, если стоить "да" в показывать Интерес 1 и "нет" в не показывать "Интерес 1"). При этом настройка "Показывать профили" то же не несет особой смысловой нагрузки (при наличии параметра "не важно"). Скрываются профили, у которых есть интересы входящие в параметр "Не показывать профили с указанными интересами"

Показывать мне профили пользователей находящихся

  • “Мир”
  • “Страна”
  • “Рядом”

“Мир”: Список всех пользователей в порядке времени последней авторизации

“Страна”: объединяет 2 списка (без дубликатов) в следующем порядке: Список пользователей той же страны в порядке времени последней авторизации Список других пользователей в порядке времени последней авторизации (пользователи, которые не попали в предыдущую категорию, и пользователи без известного местоположения) (список "Мир")

“Рядом”: объединяет 3 списка (без дубликатов) в следующем порядке: Список пользователей в радиусе 50 км от пользователя в порядке времени последней авторизации Список пользователей той же страны в порядке времени последней авторизации (список "Страна") Список других пользователей в порядке времени последней авторизации (пользователи, которые не попали в 3 предыдущих категории и пользователей без известного местоположения) (список "Мир")

  1. Отображение списка профилей (на основе настроек отображения) с бесконечным скроллом. Должны загружаться блоки по N профилей без дубликатов (уже показанные профили не должны попадать в блок, отдаваемый API). Реализовано через предоставление limit/offset

Swagger-документация по API


Для хранения информации используется БД PostgreSQL Для создания базы данных запустить файл database/db_create.sql

About

Test work for Rosberry

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published