/webdev-task-2

Задача «Артемий слишком занят»

Primary LanguageJavaScript

Задача «Артемий слишком занят»

Перед выполнением задания внимательно прочитайте:

Основное задание

Билли отправляется в путешествие и ему хочется составить список мест, которые он желает посетить. Но память постоянно подводит Билли, и он забывает, в каких местах ему уже довелось побывать. Чтобы путешествие Билли было увлекательным, и он посетил запланированные достопримечательности, ему нужен сервис для сохранения и просмотра отметок о посещенных местах.

Билли прочитал хорошую книгу по фронтенду и сделает его сам, а своего друга, опытного путешественника Артемия, попросил реализовать REST-интерфейс (API), используя Express. Но Артемий укатил в очередную экспедицию, и просит помощи у вас.

Билли просил

  • Возможность добавления нового места (страны, города, достопримечательности) - (POST / c { name, description } в теле)
  • Место состоит из описания и отметки о посещении
  • Место создается непосещённым
  • Возможность получения списка мест (GET /)
  • Можно сортировать по дате создания (GET /?comparer=date)
  • Можно сортировать по алфавиту (GET /?comparer=name)
  • Можно выводить список мест постранично (GET /pages/:number([0-9]+)
  • Возможность поиска места по его описанию (GET /search/?q=...)
  • Возможность редактирования описания конкретного места (PATCH /id=... с { name, description } в теле)
  • Возможность отметить место посещённым или непосещённым (PATCH /id=... с { visited } в теле)
  • Возможность удаления места (DELETE /?id=...)
  • Возможность менять порядок мест в списке (PATCH /swapped?id1=...&id2=...)
  • Возможность очистки всего списка мест (DELETE /)

artemii