Skip to content

ExploreWithMe - приложение для создания событий/мероприятий, где пользователи могут подавать заявки на участие в них

Notifications You must be signed in to change notification settings

MelTrevelyan/java-explore-with-me

Repository files navigation

java-explore-with-me

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

Технологии

  • Java 11
  • Spring Boot
  • Maven
  • Hibernate
  • JPA
  • Lombok
  • PostgreSQL

Возможности

Пользователи

  • Создать пользователя
  • Найти пользователей по списку из id
  • Подписаться на пользователя
  • Удалить пользователя из подписчиков

Категории событий

  • Создать категорию
  • Удалить категорию
  • Обновить категорию
  • Найти категорию по id
  • Получить список категорий

События

Для зарегестрированных пользователей:

  • Добавить событие
  • Найти список событий, созданных пользователем
  • Найти событие пользователя по id
  • Обновить информацию о событии, созданном пользователем
  • Получить список заявок на событие, созданное пользователем
  • Одобрить или отклонить заявки из списка для определённого события
  • Получить список событий по подписке на определённого пользователя
  • Получить список событий по всем подпискам с возможностью сортировки

Для всех пользователей:

  • Поиск событий по параметрам
  • Поиск опубликованного события по id

Только администратором:

  • Поиск событий по разным параметрам
  • Обновление события

Заявки на участие в событии

  • Создать заявку
  • Получить список заявок пользователя
  • Отклонить заявку

Подборки

  • Создать подборку
  • Обновить подборку
  • Удалить подборку
  • Найти подборку по id
  • Получить список подборок

Принцип работы подписок

  1. Зарегестрированный пользователь может подписаться на другого зарегестрированного пользователя (кроме себя).
  2. Подписка позволяет получить список событий, опубликованных тем, на кого подписались.
  3. Добавлена возможность просматривать ленту событий из всех подписок, с возможностью сортировки по времени проведения.
  4. Пользователь может удалить своего подписчика.

Приложение состоит из двух сервисов

  1. Основной сервис (ewm-service)
  2. Сервис статистики (statistics)

Схема БД основного сервиса:

ewm-main service

Схема БД сервиса статистики:

ewm-statistics

Варианты запуска приложения

  • Командой «docker-compose up» (Для запуска через докер);

  • С помощью IntelliJ IDEA:

«main»: ewm-service\src\main\java\ru\practicum\explorewithme\EwmService -> "run";

«stats»: statistics\stats-service\src\main\java\ru\practicum\explorewithme\StatsService -> "run"


TO DO

Добавить тестирование

  • Юнит-тестирование
  • Интеграционное тестирование
  • Мок-тестирование

About

ExploreWithMe - приложение для создания событий/мероприятий, где пользователи могут подавать заявки на участие в них

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published