软件工程小组项目文档
小组成员:赵有为、张天善、宋春雨、郭凯璐、孙楠、冯韵瑶
Uni-Chat项目文档
需求分析Need
日常生活中我们在使用Ubuntu等系统时都会因为QQ等聊天工具对基于Linux的操作系统的兼容系不够而自闭,我们或是选择不使用这些聊天工具或是花很多时间配置这些应用的依赖并且在配置过程中会出现各种各样的问题.
有时, 我们和他人聊天, 我可能比较喜欢使用QQ而别人却使用微信, 这时我们又不得不下载另外一个软件.
有时, 我们可能并不想装那么多应用. 有的人可能一个都不想装.
所以我们打算做一款跨平台的聊天工具。
这个聊天工具具体可以支持两人之间的聊天、群聊、传输文件的功能,支持的平台包括Windows、Linux、Mac、移动端(IOS、IPadOS、安卓)、小程序(微信小程序、QQ小程序等等)、命令行版。
做法Approach
- 用户优势:
- 一款新应用, 面临的第一个问题就是用户习惯问题, 我们可以通过, 各种小程序的方式(PC端可使用命令行版), 不让用户安装任何额外的应用. 用户产生一定习惯后, 这时安装我们APP就是一个更好的选择了.
- 一般情况下, 我们在我们的各个设备间发送文件, 要么使用U盘, QQ微信等, 没有一个统一的解决方案, 而我们适配各个平台, 就是为用户提供了一个统一的解决方案, 方便又快捷.
- 内网模式, 有时我们可能没有网络, 但也没有U盘, 这时也无法使用QQ, 微信等; 这时用户可以通过这个模式, 使用局域网, 发文件, 聊天等;
- Linux的用户使用QQ等聊天工具非常困难。QQ等聊天工具对Linux的支持比较差,在安装的过程中可能在安装依赖的过程中会出现各种问题,非常浪费时间.
所以我们的用户潜力比较大
- 基础的招式:CSS+HTML可以做非常美观的界面。
- 独特的招式:
- 基于Npm和Node的Javascript+Electron可以制作跨Windows、Linux、Mac的聊天工具,基于一套代码通过使用不同的配置制作出跨平台的软件。基于Node的服务器可以处理高并发的业务。
- 基于Uni-App, 可使用JS制作: 跨各种小程序, 安卓, IOS, H5各种平台的聊天工具
- 可以使用微信, QQ, 微博, 支付宝的开放能力, 快速接入用户, 简化繁琐的用户注册流程, 减少可能的用户流失.
- 预计的困难
- 并发问题的处理
- 团队分工的衔接问题
- A用户向已经离线的B用户发送消息,B用户上线后接收消息的处理
- 两个用户直接消息传递的流程
- 各种通信协议之间的权衡
- 各大互联网公司应用开放能力接入
- 各大平台的适配
好处Benefit
- 使用统一的方案解决问题, 用户无需考虑使用哪种软件, 也无需考虑安装多款软件, 不同平台如何共享的问题, 减少用户的烦恼, 只需要我们这一个就够了;
- 使用各种小程序以及Uni-Chat-Cli命令行版, 可以满足不愿安装过多应用的用户的需求
- 内网模式, 没有网络, 也阻止不了我共享文件, 聊天的热情;
- 针对Linux用户使用聊天工具难的问题,方便Linux用户与其他用户进行信息交互
- 微信小程序可以直接与其他平台的好友进行聊天
- 命令行界面使用npm或yarn等安装uni-chat之后进行聊天
竞争Competitors
- QQ等国内的聊天软件在Windows、Mac等电脑在国内占据大部分市场,而在Linux的平台内支持较少
- Discord, Telegram等国外跨端软件, 国内使用有网络障碍
- 飞Q, 快传等内网共享文件, 聊天软件
交付Delivery
我们可以通过Npm、Yarn的开源仓库向用户交付产品,搭建自己产品的宣传和下载页面,并在Github仓库有开源开骂
电梯演说
当你使用Linux在与同学在线交流伤脑筋的时候,当你为在Linux里忙于安装QQ等聊天工具的依赖的时候,很可能会怀疑人生,会遇到各种莫名其妙的报错和Bug。我们的产品旨在为Linux用户提供一个好用的、可靠的、功能完善的工具来与其他用户进行在线交流。