Skip to content

Дипломный проект курса "Java-разработчик" от Яндекс Практикума. Бэкэнд сервиса-афиши (REST API) для публикации своих событий и участия в событиях других пользователей.

Notifications You must be signed in to change notification settings

Grigoriy-Popov/Explore-with-me

Repository files navigation

Explore-With-Me

Explore with me - Это бэкэнд многомодульного приложения (REST API) для создания своих событий, отслеживания и участия в событиях, организованных другими пользователями.

Как пользоваться

Основной сценарий использования:

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

Также администраторы могут составлять подборки событий и закреплять их на главной странице сервиса.

Архитектура

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

  • ewm-service - основной сервис, где сосредоточена вся бизнес-логика приложения;
  • stat-server - сервис статистики, в котором собирается статистика по просмотрам событий пользователями. Просмотром события считается переход по публичным эндпоинтам событий - /events/ и /events/{id}/.

Технологии, применяемые в проекте

  • Java 11;
  • Spring;
  • Hibernate;
  • RestTemplate;
  • PostgreSQL
  • Docker.

Запуск проекта

Реализован запуск приложения в отдельных docker-контейнерах с CУБД PostgreSQL.

  • Собрать jar проекта:
mvn clean package
  • Запустить приложение из директории проекта командой:
docker-compose up.

About

Дипломный проект курса "Java-разработчик" от Яндекс Практикума. Бэкэнд сервиса-афиши (REST API) для публикации своих событий и участия в событиях других пользователей.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published