Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kapetrosyan1/java-explore-with-me

Приложение для поиска интересных событий и компании для участия в них
https://github.com/kapetrosyan1/java-explore-with-me

docker hibernate java-11 lombok maven microservices-architecture postgresql postman spring-boot

Last synced: 25 days ago
JSON representation

Приложение для поиска интересных событий и компании для участия в них

Awesome Lists containing this project

README

        

# java-explore-with-me
Мой выпускной проект в яндекс-практикуме

Данное приложение позволяет пользователям находить интересные события и делиться ими, а также находить компанию для посещения данных мероприятий.

_**Используемый стек:**_ Java 11, Maven, Spring Boot, PostgreSQL, Hibernate, WebClient, Lombok, Docker, Postman, Microservices architecture, Swagger Editor

# Функциональность
Приложение состоит из следующих микросервисов:
- ewm-service (сервис, реализующий основной функционал приложения)
- stats (сервис статистики, реализующий функционал по хранению истории запросов. Данный сервис состоит из 3 микросервисов)
- stats-server (сервис, реализующий сохранение и получение сведений о запросах)
- stats-dto (библиотека, в которой хранятся общие для основного сервиса и сервиса статистики DTO)
- stats-client (клмент, с помощью которого ewm-service будет обращаться к stats-server)

# stats
Сервис статистики, реализует две основные функции:
- Добавляет информацию о выполненном пользователем запросе
- Возвращает информацию о запросах по следующим параметрам:
- Временной период, за который выполнялись запросы
- Перечень эндпоинтов, информацию о вызовах которых надо получить
- Уникальность ip адреса, с которого выполнялись запросы

Подробную информацию о функционале сервиса статистики можно получить открыв следующую [спецификацию](https://github.com/yandex-praktikum/java-explore-with-me/blob/main/ewm-stats-service-spec.json) в редакторе Swagger
# ewm-service
API основного сервиса разделена на три части:
- public (доступна любому пользователю. В сервис статистики попадают только эти запросы)
- private (доступна только зарегистрированным пользователям)
- admon (доступна только администраторам сервиса)

Функционал основного сервиса следующий:
- Создание и удаление пользователей
- Получение пользователей по списку идентификаторов
- Добавление, изменение и получение событий
- Добавление, обновление и получение комменатриев к событиям
- Добавление запросов на участие в событии и возможность отвечать на эти запросы
- Создание администраторами подборок событий

Подробную информацию о функционале основного сервиса можно получить открыв следующую [спецификацию](https://raw.githubusercontent.com/yandex-praktikum/java-explore-with-me/main/ewm-main-service-spec.json) в редакторе Swagger
# Диаграмма базы данных
## stats-db
![stats diagram](https://github.com/kapetrosyan1/java-explore-with-me/assets/127433632/0b419e3b-1897-4463-b1af-c36be6edb2c9)
## ewm-service-db
![ewm-service diagram](https://github.com/kapetrosyan1/java-explore-with-me/assets/127433632/3afbdc0e-58b1-46f1-9776-8511d08a9ec2)