Skip to content

Instantly share code, notes, and snippets.

@luchaninov
Last active July 12, 2017 13:21
Show Gist options
  • Save luchaninov/6985193e84f3a4fe4de408e442aeea8b to your computer and use it in GitHub Desktop.
Save luchaninov/6985193e84f3a4fe4de408e442aeea8b to your computer and use it in GitHub Desktop.
REST Bookmarks

REST Bookmarks

Сервис закладок позволяет добавлять URL и оставлять к ним комментарии.

Сущности

Это не таблицы в базе данных, а то, что должен получать клиент API. Как хранить - решите сами.

  • Bookmark: id, created_at, url, comments
  • Comment: id, created_at, ip, text

API

  • получить список 10 последних добавленных Bookmark
  • получить Bookmark (с комментариями) по Bookmark.url. Если такого ещё нет, не создавать.
  • добавить Bookmark по url и получить Bookmark.id. Если уже есть Bookmark с таким url, не добавлять ещё один, но получить Bookmark.id.
  • добавить Comment к Bookmark (по id) и получить Comment.id

Формат API и передачи данных выберите сами, учитывая требования:

  • запросы к системе будут из javascript в браузере (например, виджет на сайтах или расширение браузера).
  • авторизации нет - все отправляют анонимно

Технические вопросы

PHP, Symfony 3 или 4.

Делаем как можно проще, но код должен быть production-ready:

  • обязательно readme для js-программиста, как ему пользоваться API
  • код после вас будет дорабатывать другой программист, с которым вы не хотите портить отношения

Если вам кажется, что работа займёт день или больше, возможно, вы переусложняете задачу. Это тестовое задание, на самом деле код не будет нигде использоваться, но на собеседовании мы его обсудим.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment