Skip to content

OmatthewY/java-explore-with-me

Repository files navigation

java-explore-with-me

Для чего предназначен этот проект

Explore With Me - это приложение дает возможность делиться информацией об интересных событиях и помогает найти компанию для участия в них. Реализовано в виде двух микросервисов с отдельными БД - один для сохранения и получения статистики, второй с основной бизнес логикой.

Инструкция по развертыванию проекта:

  1. Скачать данный репозиторий
  2. mvn clean
  3. mvn package
  4. docker-compose build
  5. docker-compose up -d

Приложение включает в себя сервисы:

  • Основной сервис — содержит всё необходимое для работы продукта.
    • Просмотр событий без авторизации;
    • Возможность создания и управления категориями;
    • События и работа с ними - создание, модерация;
    • Запросы пользователей на участие в событии - запрос, подтверждение, отклонение;
    • Создание и управление подборками;
  • Сервис статистики — хранит количество просмотров и позволяет делать различные выборки для анализа работы приложения.

Описание сервисов

Основной сервис работает на порту 8080

API основного сервиса разделен на три части. Первая — публичная, доступна без регистрации любому пользователю сети. Вторая — закрытая, доступна только авторизованным пользователям. Третья — административная, для администраторов сервиса.

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

Сервис статистики работает на порту 9090:

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

  • Административный (доступен только для администратора проекта)
    • API для работы со статистикой посещений

Спецификация REST API swagger