Skip to content

Nadezhdushka92/java-explore-with-me

Repository files navigation

ExploreWithMe


ExploreWithMe — это интерактивное приложение, предназначенное для упрощения процесса планирования досуга и организации совместных мероприятий.

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

API приложения разделен на три части:

  1. Публичный API: Доступен без регистрации любому пользователю сети.
  2. Закрытый API: Доступен только авторизованным пользователям.
  3. Административный API: Предназначен для администраторов сервиса.

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

Основные эндпоинты:

Публичный API для работы с подборками событий

  • Получение подборок событий

    • GET /compilations
  • Получение подборки событий по его id

    • GET /compilations/{compId}

Публичный API для работы с категориями

  • Получение категорий
    • GET /categories
  • Получение информации о категории по её идентификатору
    • GET /categories/{catId}

Публичный API для работы с событиями

  • Получение событий с возможностью фильтрации
    • GET /events
  • Получение подробной информации об опубликованном событии по его идентификатору
    • GET /events/{id}

Приватный API для работы с событиями

  • Получение событий, добавленных текущим пользователем
    • GET /users/{userId}/events
  • Добавление нового события
    • POST /users/{userId}/events
  • Получение полной информации о событии, добавленном текущим пользователем
    • GET /users/{userId}/events/{eventId}

Приватный API для работы с запросами текущего пользователя на участие в событиях

  • Получение информации о заявках текущего пользователя на участие в чужих событиях
    • GET /users/{userId}/requests
  • Добавление запроса от текущего пользователя на участие в событии
    • POST /users/{userId}/requests

Административный API для работы с пользователями

  • Получение информации о пользователях
    • GET /admin/users
  • Добавление нового пользователя
    • POST /admin/users

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

Сервис статистики собирает информацию о работе приложения.

Сервис отслеживает:

  1. *Количество обращений пользователей к спискам событий.
  2. Количество запросов на получение подробной информации о событиях.

Важно: Взаимодействие с сервисом статистики происходит не напрямую через эндпоинты, а через другой сервис (дополнительный клиент).

Статистика сохраняется по двум основным эндпоинтам:

  • GET /events — получение событий с возможностью фильтрации.
  • GET /events/{id} — получение подробной информации об опубликованном событии по его идентификатору.

Эти эндпоинты предназначены для внутреннего использования и помогают в сборе и обработке данных.


Дополнительная функциональность

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

Процесс добавления комментариев:

  1. Авторизация пользователя: Только авторизированные пользователи могут добавлять комментарии к событиям.
  2. Создание комментария: Авторизированные пользователи могут оставлять комментарии к интересующим их событиям.
  3. Модерация комментариев: После создания, комментарий проходит модерацию администратором.
  4. Публикация комментария: Если комментарий успешно проходит модерацию, он публикуется и становится доступным для просмотра другими пользователями.

Эндпоинты:

Приватный API для добавления комментария текущего пользователя к событию

  • Добавление комментария к событию текущим пользователем
    • POST /users/{userId}/events/{eventId}/comments
  • Редактирование комментария к событию, добавленного текущим пользователем
    • PATCH /users/{userId}/events/{eventId}/comments/{commentId}
  • Удаление комментария, добавленного текущим пользователем
    • DELETE /users/{userId}/events/{eventId}/comments/{commentId}

Административный API для модерации комментариев

  • Модерация комментария. Отклонение или добавление комментария к событию
    • PATCH /admin/events/{eventId}/comments"

pull request: #4

About

My first Diploma - ExploreWithMe project.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •