linksplatform / linksplatform/InfiniteDepthTreeWebUIPrototype
Реализовать древовидный анонимный P2P чат на react, синхронизирующийся в режиме реального времени по WebRTC, хранящий данные в localStorage
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
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- 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.
- Fork repository và làm thay đổi trên một nhánh.
- 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