Skip to content

REST-сервис реализующий серверную часть онлайн-чата.

Notifications You must be signed in to change notification settings

svedentsov/job4j_chat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Приложение Chat

Этот проект представляет собой API-интерфейс Spring Boot Rest с использованием Spring Security and JWT для аутентификации и авторизации пользователя. Это простой рест сервис который реализует серверную часть онлайн-чата. Предполагается использование простых CRUD-операций над сообщениями, комнатами, пользователями, ролями.

Технологии

Java 16, Spring (Boot, Data JPA, Web, Security), PostgreSQL, Liquibase, Maven

Запуск проекта через Docker Compose

  1. Скопируйте файлы репозитория в подготовленную директорию
  2. Перейдите в директорию и соберите проект в jar-файл
mvn clean install
  1. Собирите docker-образ проекта
docker build -t chat .
  1. Запустите проект через docker-compose
docker-compose up
  1. Приложение будет доступно по адресу: http://localhost:8080

Методы

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

  • GET /users - получить всех пользователей
  • GET /users/{id} - получить пользователя по id
  • GET /users/{id}/role - получить роль пользователя по id пользователя
  • GET /users/{id}/rooms - получить список комнат, в которых состоит пользователь по id пользователя
  • POST /users/sign-up - создать пользователя
  • POST /login - получить токен пользователя (в теле передает username и password созданного пользователя)
  • PUT /users - обновить данные пользователя или создать нового
  • PUT /users/{id}/role - обновить роль пользователя по id пользователя
  • PUT /users/{id}/rooms - добавить комнату пользователю (зайти в комнату) по id пользователя
  • PATCH /users - обновить данные существующего пользователя
  • DELETE /users/{id} - удалить пользователя по id
  • DELETE /users/{id}/role - удалить роль пользователя по id пользователя
  • DELETE /users/{id}/rooms/{roomId} - удалить комнату пользователя (выйти из комнаты) по id пользователя и id комнаты

Роли

  • GET /roles - получить все роли
  • GET /roles/{id} - получить роль по id
  • POST /roles - создать роль
  • PUT /roles - обновить данные роли или создать новую
  • PATCH /roles - обновить данные существующей роли
  • DELETE /roles/{id} - удалить роль по id

Комнаты

  • GET /rooms - получить все комнаты
  • GET /rooms{id} - получить комнату по id
  • POST /rooms - создать комнату
  • PUT /rooms - обновить данные комнаты или создать новую
  • PATCH /rooms - обновить данные существующей комнаты
  • DELETE /rooms/{id} - удалить комнату по id

Сообщения

  • GET /messages - получить все сообщения
  • GET /messages/{id} - получить сообщение по id
  • POST /messages - создать сообщение
  • PUT /messages - обновить данные сообщения или создать новое
  • PATCH /messages - обновить данные существующего сообщения
  • DELETE /messages/{id} - удалить сообщение по id

About

REST-сервис реализующий серверную часть онлайн-чата.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published