Giter Site home page Giter Site logo

chicagoist / spring-react-messenger Goto Github PK

View Code? Open in Web Editor NEW

This project forked from kirillmisnik/spring-react-messenger

0.0 0.0 0.0 6.13 MB

Netcracker | Java-разработчик | Проектная работа

Shell 0.74% JavaScript 1.70% Java 88.57% CSS 8.46% HTML 0.53%

spring-react-messenger's Introduction

spring-react-messenger

Netcracker EDU (Summer 2021) - Выпускной проект

Ключевые фичи:

  • Профили пользователей ✅
  • Персональные чаты ✅
  • Групповые чаты ✅
  • Поиск пользователей и сообщений
  • Аттачменты в сообщениях

Сборка и запуск проекта

Путь Команда Описание
/react-web npm install Установка зависимостей node.js
/react-web npm watch Сборка react-приложения в единый .js
/scripts move-to-resources.sh Перенос собранного файла в ресурсы проекта
/scripts db-create.sh Создание PostgreSQL БД
/ mvn install Установка зависимостей приложения
/ mvn spring-boot:run Запуск spring-boot

API

User

🟡 POST /api/registration - регистрирует пользователя в системе

Request body: json

Поле Описание
username Идентификатор пользователя
password Пароль
first_name Имя
last_name Фамилия
phone_number Номер телефона
email Электронный адрес (опционально)
bio Биография пользователя (опционально)
profile_picture_id Фотография пользователя (опционально)

🟢 GET /api/user/{user_id} - возвращает информацию о пользователе

🟢 GET /api/user/all - возвращает список всех пользователей

🟢 GET /api/user/{user_id}/chats - возвращает список чатов, доступных пользователю

🔴 DELETE /api/user/{user_id} - удаляет пользователя, все персональные чаты и сообщения из групповых чатов

Chat

🟡 POST /api/chat/create - создает чат

Request body: json

Поле Описание
members_id Список идентификаторов участников чата
chat_name Название чата (только групповой) (опционально)
picture_id Фотография чата (только групповой) (опционально)

🟡 POST /api/chat/{chat_id} - добавляет сообщение в чат

Request body: json

Поле Описание
text Текст сообщения
attachment_id Идентификатор вложения (опционально)

🟢 GET /api/chat/{chat_id} - возвращает информацию о чате

🟢 GET /api/chat/{chat_id}/messages/all - возвращает все сообщения чата

🟢 GET /api/chat/{chat_id}/messages?page_size={page_size}&page_num={page_num} - возвращает сообщения чата в виде страниц

🔴 DELETE /api/chat/{chat_id} - удаляет чат

Messages

🟡 POST /api/message/{message_id}/read - помечает сообщение (и все сообщение в этом чате до него) как "прочитанные"

🔴 DELETE /api/message/{message_id} - удаляет сообщение и вложение (если имеется)

spring-react-messenger's People

Contributors

kirillmisnik avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.