linksplatform / linksplatform/InfiniteDepthTreeWebUIPrototype

Реализовать древовидный анонимный P2P чат на react, синхронизирующийся в режиме реального времени по WebRTC, хранящий данные в localStorage

Đang mở
#14 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Ngôn ngữ chính
HTML
Star
0
Fork
0
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

Этот чат должен использовать этот прототип визуализации дерева.
Командная строка будет превращена в строку вводу сообщений и будет размещения снизу.
Логотип предлагаю убрать полностью (для простоты), в будущем его можно будет обратно добавить в виде фонового изображения.

Механизм работы чата:

  • Изначально, если все клиенты подключились к странице с чатом в первый раз, там всего лишь одно сообщение - "начало".
  • Пользователь выбирает сообщение, оно помечается оранжевым цветом.
  • Далее он начинает вводить сообщение (если при этом текстовое поле не в фокусе, оно автоматически фокусируется при нажатии любой из буквы/цифры без CTRL и ALT).
  • После того как ввод сообщения окончен, пользователь нажимает Enter и сообщение тут же появляется в качестве вложенного в то сообщение, которое было выделено в самом конце находящихся там сообщений.
  • Новое сообщение тут же выделяется после добавление и страница осуществляет перемещение к нему.
  • При этом уведомление об изменениях отправляется всем клиентам подключенным по WebRTC.

Хранение данных:

  • У сообщений в качестве идентификаторов используется время их создания, чтобы можно было определять их порядок относительно друг друга.
  • Сообщения хранятся в виде пар значений время создания сообщения родителя - JSON объект, содержащий текст сообщения и массив временных меток сообщений-детей.
  • Изначально удаление и обновление сообщений не предусмотрено, только добавление.

Реализацию этого чата желательно делать после того как прототип веб-интерфейса будет превращён в соответствующие React-пакеты (https://github.com/linksplatform/InfiniteDepthTreeWebUIPrototype/issues/13).
Реализация должна размещаться в отдельном для этого репозитории, и возможно быть доступна в виде React пакета.

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Hướng nghiên cứu

Bắt đầu bằng việc xem xét hình ảnh hóa prototype được tham chiếu và issue #13, vì công việc này được thực hiện tiếp theo việc chuyển đổi package React. Sau đó, xác định phạm vi của repository riêng hoặc package React xoay quanh tree chat được mô tả, đồng bộ hóa WebRTC, khả năng lưu bền trong localStorage, hành vi nhập liệu và luồng chèn message; công việc hoàn tất khi các yêu cầu đó hoạt động cùng nhau.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
javascript, react
Lĩnh vực
distributed-systems, frontend
Loại issue
Tính năng
Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Cần làm rõ
Mức phù hợp với người mới
25/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.