{"id":16246301,"url":"https://github.com/dingpingzhang/white-raven","last_synced_at":"2025-03-19T19:30:41.502Z","repository":{"id":46684889,"uuid":"330441508","full_name":"DingpingZhang/white-raven","owner":"DingpingZhang","description":"White Raven is an IM (instant messaging) app implemented by React.","archived":false,"fork":false,"pushed_at":"2022-10-05T11:00:40.000Z","size":4258,"stargazers_count":28,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-28T20:35:50.153Z","etag":null,"topics":["instant-messaging","pwa","react","rxjs","webapp"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DingpingZhang.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-01-17T17:00:34.000Z","updated_at":"2024-08-27T09:33:05.000Z","dependencies_parsed_at":"2023-01-19T06:30:34.217Z","dependency_job_id":null,"html_url":"https://github.com/DingpingZhang/white-raven","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DingpingZhang%2Fwhite-raven","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DingpingZhang%2Fwhite-raven/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DingpingZhang%2Fwhite-raven/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DingpingZhang%2Fwhite-raven/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DingpingZhang","download_url":"https://codeload.github.com/DingpingZhang/white-raven/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244014041,"owners_count":20383715,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["instant-messaging","pwa","react","rxjs","webapp"],"created_at":"2024-10-10T14:30:15.682Z","updated_at":"2025-03-19T19:30:41.122Z","avatar_url":"https://github.com/DingpingZhang.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# White Raven ![version](https://img.shields.io/badge/White%20Raven-0.1.0-yellow) ![build state](https://img.shields.io/badge/build-passing-brightgreen) [![license](https://img.shields.io/badge/license-AGPL--3.0-orange)](./LICENSE)\n\nWhite Raven 是一个由 [React](https://reactjs.org/) 实现的即时通讯（IM）应用，其名来自[《冰与火之歌》](https://awoiaf.westeros.org/index.php/White_raven)，取其信使之意。\n\n本项目主要有两个分支：\n\n- `master`：目前为预览分支，由于后端仍在开发中，`master` 分支运行后将展示 Mock Data 用于预览。\n- `dev`：开发分支，主要更新都在该分支上进行，如果你自己适配了 API，或是找到了可用的后端，可以 checkout 到该分支下运行本项目。\n\n## （~~画饼~~）TODO\n\n以下部分功能未合入 `master` 分支，仅在 `dev` 分支可用。\n\n- [ ] 文档\n  - [x] 提供初步可用的[即时通讯 API 文档](./docs/api-document.md)，用户可以根据该 API 自行提供后端程序，包括适配一些现有的即时通讯平台。\n- [ ] UI/组件：秉着练手的原则，项目目前的 UI 组件全部自行编写，尽量不引入第三方组件库。\n  - [x] 虚拟化列表；\n  - [x] 无限滚动 + 虚拟化消息列表；\n  - [x] 懒加载 Switch 导航组件；\n  - [x] 模态 Dialog 组件；\n  - [x] 文本高亮组件；\n  - [x] 私聊、群聊相关界面；\n  - [ ] 富文本输入框；\n  - [x] 设置窗口（已完成国际化、主题切换的支持，但 UI 上未提供良好的入口点）；\n  - [x] 表情包管理;\n  - [x] 图片发送与接收；\n  - [ ] 任意文件的发送与接收。\n- [ ] 提供独立的后端支持\n  - [x] 实现注册、登录等鉴权接口；\n  - [x] 实现私聊、群聊通讯；\n  - [ ] 实现表情包上传;\n  - [x] 实现表情包下载与发送；\n  - [x] 实现文件传输；\n  - [ ] 实现语音、视频发送；\n  - [ ] 实现语音、视频通话。\n\n## 截图\n\n![dark-theme](./images/screenshot-dark-theme.png)\n\n![dark-contact](./images/screenshot-dark-contact.png)\n\n![light-theme](./images/screenshot-light-theme.png)\n\n![light-contact](./images/screenshot-light-contact.png)\n\n## 运行\n\n```cmd\n// 首次运行，restore node_modules\n\u003e yarn\n\n// 以 debug 模式运行项目\n\u003e yarn start\n\n// 编译项目，编译完成后，进入生成的 ./build 目录下，打开 index.html 文件运行\n\u003e yarn build\n```\n\n## 贡献\n\n项目目前处于起步阶段，欢迎各位前端大佬参与到开发中来，你可以：\n\n- 通过 [Issue](https://github.com/DingpingZhang/white-raven/issues) 反馈 Bug，提出建议或需求；\n- Fork 此项目，并通过 [Pull Requests](https://github.com/DingpingZhang/white-raven/pulls) 贡献你的代码。（请向 `dev` 分支发起 PR）\n\n## 鸣谢\n\n- UI 设计来源：[Dribbble](https://dribbble.com/shots/14723765-Inbox-Light-Dark)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdingpingzhang%2Fwhite-raven","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdingpingzhang%2Fwhite-raven","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdingpingzhang%2Fwhite-raven/lists"}