Skip to content

Микросервис управления пользователями, их профилями и контактами.

Notifications You must be signed in to change notification settings

MrGreenNV/greenchat-user-service

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

95 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GreenChat User-Service

Микросервис управления пользователями и их контактами.


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

Микросервис является компонентом приложения GreenChat, отвечающим за управление пользователями. Он предоставляет функциональности для регистрации пользователей, обновление, чтение и удаление информации о пользователях, а также позволяет устанавливать связь между пользователями через добавление контактов. Используемые технологии

  • Java
  • Maven
  • Spring Boot
  • Spring Data JPA
  • Lombok
  • Mockito
  • JUnit
  • PostgreSQL
  • OpenApi (Swagger)
  • Docker

Функциональность

  • Регистрация пользователя: Пользователи могут зарегистрироваться в системе, указав логин, пароль, имя, фамилию и электронную почту.
  • Обновление данных: Пользователи могут обновлять личную информацию, доступную для изменения.
  • Деактивация аккаунта: Пользователи могут деактивировать аккаунт, через soft удаление данных.
  • Удаление данных: Пользователи могут полностью удалять данные о своем аккаунте.
  • Получение информации о пользователе: Микросервис предоставляет возможность просмотра данных конкретного пользователя.
  • Получение информации о всех пользователях: Микросервис предоставляет возможность просмотра данных всех пользователей в виде списка.
  • Поиск пользователя по логину: К микросервису управления пользователями можно обратиться по API с целью получения информации о пользователе по его логину.
  • Добавление контакта: Пользователи могут устанавливать связь с другими пользователями системы через добавление контактов.
  • Получение списка контактов: Пользователи могут получить информацию о добавленных контактах.
  • Удаление контакта: Пользователи могут редактировать свой список контактов, удаляя добавленные контакты из списка.

Установка и настройка микросервиса отдельно от системы

1. Клонируйте репозиторий GreenChat Auth:
git clone https://github.com/MrGreenNV/greenchat-auth-service.git
2. Перейдите в директорию проекта:
cd greenchat-auth-service
3. Для запуска проекта в Docker воспользуйтесь следующей командой:
docker compose up --build -d

После запуска, микросервис будет доступен по адресу: http://localhost:9191.


API-endpoints

Документация OpenAPI (Swagger) будет доступна после запуска проекта по ссылке: http://localhost:9191/swagger-ui/index.html#/


Установка и настройка всей системы GreenChat, включающей несколько микросервисов

(В разработке)


Микросервис GreenChat User-Service предоставляет следующие API-endpoints:

1. Регистрация пользователя.
POST /greenchat/users-service/v1/users/registration

API-endpoint для регистрации нового пользователя. Принимает JSON-объект UserCreateDTO с данными для регистрации нового пользователя.

2. Получение информации о пользователе по его логину.
GET /greenchat/users-service/v1/users/{username}

API-endpoint для взаимодействия с микросервисом аутентификации и авторизации с целью проверки данных пользователя перед выдачей access и refresh токенов. Возвращает данные пользователя по его логину.

3. Обновление данных пользователя.
PUT /greenchat/users-service/v1/users/{userId}

API-endpoint для обновления данных пользователя.

4. Удаление данных пользователя.
DELETE /greenchat/users-service/v1/users/{userId}

API-endpoint для удаления данных пользователя.

5. Деактивация пользователя (Soft удаление).
DELETE /greenchat/users-service/v1/users/{userId}/soft

API-endpoint для soft удаления данных пользователя.

6. Получение данных пользователя.
GET /greenchat/users-service/v1/users/{userId}

API-endpoint для получения данных конкретного пользователя.

7. Получение данных всех пользователей.
GET /greenchat/users-service/v1/users

API-endpoint для получения данных всех пользователей.


Тестирование

Микросервис GreenChat Auth включает модульные тесты для проверки его функциональности. Вы можете запустить тесты с помощью сборщика Maven:

mvn test

Вклад и обратная связь

Если вы хотите внести свой вклад в развитие GreenChat Auth или обнаружили проблему, пожалуйста, создайте issue в репозитории проекта или отправьте pull request с вашими предложениями.


Документация проекта

Подробную документацию проекта GreenChat Auth вы можете найти, перейдя по ссылке: https://mrgreennv.github.io/greenchat-auth-service

About

Микросервис управления пользователями, их профилями и контактами.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages