Skip to content

vadimstrya/job4j_social_media_api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub Action

Social Media API

RESTful API для социальной медиа платформы, позволяющей пользователям регистрироваться, входить в систему, создавать посты, переписываться, подписываться на других пользователей и получать свою ленту активности

Возможности:

  1. Аутентификация и авторизация:
  • Пользователи могут зарегистрироваться, указав имя пользователя, электронную почту и пароль.

  • Пользователи могут войти в систему, предоставив правильные учетные данные.

  • API обеспечивает защиту конфиденциальности пользовательских данных, включая хэширование паролей и использование JWT.

  1. Управление постами:
  • Пользователи могут создавать новые посты, указывая текст, заголовок и прикрепляя изображения.

  • Пользователи могут просматривать посты других пользователей.

  • Пользователи могут обновлять и удалять свои собственные посты.

  1. Взаимодействие пользователей:
  • Пользователи могут отправлять заявки в друзья другим пользователям. С этого момента, пользователь, отправивший заявку, остается подписчиком до тех пор, пока сам не откажется от подписки. Если пользователь, получивший заявку, принимает ее, оба пользователя становятся друзьями. Если отклонит, то пользователь, отправивший заявку, как и указано ранее, все равно остается подписчиком.

  • Пользователи, являющиеся друзьями, также являются подписчиками друг на друга.

  • Если один из друзей удаляет другого из друзей, то он также отписывается. Второй пользователь при этом остается подписчиком.

  • Друзья могут писать друг другу сообщения.

  1. Подписки и лента активности:
  • Лента активности пользователя отображает последние посты от пользователей, на которых он подписан.

  • Лента активности поддерживает пагинацию и сортировку по времени создания постов.

  1. Обработка ошибок:
  • API обрабатывает и возвращает понятные сообщения об ошибках при неправильном запросе или внутренних проблемах сервера.

  • API осуществляет валидацию введенных данных и возвращать информативные сообщения при неправильном формате.

  1. Документация API:
  • API задокументировано с использованием Swagger.

  • Документация содержит описание доступных эндпоинтов, форматы запросов и ответов, а также требования к аутентификации.

Технологии и инструменты:

  • Язык программирования: Java

  • Фреймворк: Spring Boot

  • База данных: PostgreSQL

  • Аутентификация и авторизация: Spring Security

  • Документация API: Swagger

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages