Skip to content

olsuh/copybro-test

Repository files navigation

Тестовое задание

1 Требуется создать несколько методов API, которые отвечают за вывод и обновление информации о пользователе:

1.1 метод API получения информации о текущем пользователе

  • Название GET /user.get
  • Выводим всю информацию из метода User::user_info.

1.2 Метод API обновления информации по текущему пользователю

  • Название POST /user.update
  • Content-Type: application/json
  • Можно обновлять только поля first_name, last_name, middle_name, email и phone
  • Если одного из полей нет в запросе - оно не обновляется
  • Если в запросе нет ни одного из полей - выводим ошибку
  • Поля middle_name и email могут быть пустые
  • Поля first_name, last_name и phone должны быть непустыми
  • Поле phone должно содержать 11 цифр и начинаться с 7
  • Email должен автоматически переводиться в нижний регистр
  • Телефон должен очищаться от нецифровых символов (при вводе +7-900-000-00-00 телефон должен корректно обновляться)
  • При каждом обновлении профиля в базу должна добавлять запись с уведомлением, что информация обновлена

1.3 Метод API получения списка уведомлений пользователя

  • Название GET /notifications.get
  • Возвращает массив уведомлений
  • У каждого уведомления должен быть заголовок, описание, дата создания и флаг о статусе прочтения
  • При вызове можем отправить опциональный параметр, чтобы получить список только непрочитанных уведомлений

1.4 Метод API чтения списка уведомлений пользователя

  • Название POST /notifications.read
  • Content-Type: application/json
  • Параметров нет
  • При вызове читает все уведомления пользователя

Общие требования:

  • Простой и понятный код, который написан в том же формате, что и другие части проекта;
  • Блоки кода структурированы с помощью комментариев

2 Необходимо сверстать верхний заголовок по дизайну из figma (блок начинается от логотипа CopyBro до текста с 3 блоками "Стать инвестором просто"):

https://www.figma.com/file/NzjhPvxCJMcOgfRfudE4Em?node-id=18%3A0

Требования:

  • Весь html-код пишется в файле /partials/home.html, css в файле /css/common.css
  • Простая структура блоков и css (в html не должно быть перегруженности стилями)
  • Должна поддерживаться полная адаптивность (при любом разрешении должен быть корректный рендеринг)
  • Формат кода в html и css должен быть тот же, что и в других частях проекта
  • Должны поддерживаться четкие изображения для retina-экранов
  • При загрузке страницы добавляем плавную анимацию появления блоков на странице через JavaScript (в js-файле /js/common.js, выбор блоков - по своему усмотрению, оптимально 10-20 блоков)

3 Отправка результата

  • Требуется дополнить коллекцию postman новыми методами (коллекция в корне проекта)
  • Загрузить код в репозиторий в виде 2-х коммитов (стартовое состояние и результат тестового задания)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published