Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
Приложение для поиска интересных событий и компании для участия в них
- Host: GitHub
- URL: https://github.com/kapetrosyan1/java-explore-with-me
- Owner: kapetrosyan1
- Created: 2024-04-15T15:27:57.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-06-28T18:00:46.000Z (4 months ago)
- Last Synced: 2024-09-30T13:23:59.296Z (about 1 month ago)
- Topics: docker, hibernate, java-11, lombok, maven, microservices-architecture, postgresql, postman, spring-boot
- Language: Java
- Homepage:
- Size: 92.8 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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)