Skip to content

MayFoxes/java-explore-with-me

Repository files navigation

java-explore-with-me

Идея

Свободное время — ценный ресурс. Ежедневно мы планируем, как его потратить — куда и с кем сходить. Сложнее всего в таком планировании поиск информации и переговоры. Нужно учесть много деталей: какие намечаются мероприятия, свободны ли в этот момент друзья, как всех пригласить и где собраться. Приложение — афиша. В этой афише можно предложить какое-либо событие от выставки до похода в кино и собрать компанию для участия в нём.

Сервисы

Два сервиса:

  • основной сервис содержит всё необходимое для работы продукта;
  • сервис статистики хранит количество просмотров и позволит делать различные выборки для анализа работы приложения.

Основной сервис

API основного сервиса разделина на три части:

  • публичная доступна без регистрации любому пользователю сети;
  • закрытая доступна только авторизованным пользователям;
  • административная — для администраторов сервиса.

Требования к публичному API

Публичный API предоставляет возможности поиска и фильтрации событий. Учтены следующие моменты:

  • сортировка списка событий организована либо по количеству просмотров, которое будет запрашиваться в сервисе статистики, либо по датам событий;
  • при просмотре списка событий возвращатся только краткая информация о мероприятиях;
  • просмотр подробной информации о конкретном событии настроен отдельно (через отдельный эндпоинт);
  • каждое событие относится к какой-то из закреплённых в приложении категорий;
  • настроена возможность получения всех имеющихся категорий и подборок событий (такие подборки будут составлять администраторы ресурса);
  • каждый публичный запрос для получения списка событий или полной информации о мероприятии фиксируется сервисом статистики.

Требования к API для авторизованных пользователей

Закрытая часть API реализованы возможности зарегистрированных пользователей продукта. Учтено:

  • авторизованные пользователи имеют возможность добавлять в приложение новые мероприятия, редактировать их и просматривать после добавления;
  • настроена подача заявок на участие в интересующих мероприятиях;
  • создатель мероприятия имеет возможность подтверждать заявки, которые отправили другие пользователи сервиса.

Требования к API для администратора

Административная часть API предоставляет возможности настройки и поддержки работы сервиса. Учтено:

  • настроино добавление, изменение и удаление категорий для событий;
  • есть возможность добавлять, удалять и закреплять на главной странице подборки мероприятий;
  • налажена модерация событий, размещённых пользователями, — публикация или отклонение;
  • настроено управление пользователями — добавление, активация, просмотр и удаление.

Сервис статистики

Второй сервис — сервис статистики. Собирает информацию, во-первых, о количестве обращений пользователей к спискам событий и, во-вторых, о количестве запросов к подробной информации о событии. На основе этой информации формируется статистика о работе приложения.

Функционал сервиса статистики содержит:

  • запись информации о том, что был обработан запрос к эндпоинту API;
  • предоставление статистики за выбранные даты по выбранному эндпоинту.

Чтобы можно было использовать сервис статистики, был разработан HTTP-клиент. Он отправляет запросы и обрабатывает ответы. Использован HTTP-клиент, который входит в состав RestTemplate, входящий в состав Spring Framework.

About

Template repository for ExploreWithMe project.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors