VMMatch 一款开源匹配交友 IM 应用

程序名称:VMMatch

授权协议: Apache

操作系统: 跨平台

开发语言: Java

VMMatch 介绍

VMMatch

猿匹配 —— 国内首个程序猿非严肃婚恋交友应用,让我们一言不合就来场匹配吧

介绍

首先说下中文名:为什么叫这个名字呢,因为这是一个程序猿(媛)之间匹配交流的应用啊

其实这是一个使用环信 IM 开发的一款开源聊天项目,涵盖了时下流行的一些聊天元素,同时已将 IM 功能封装为单独库,可以直接引用,方便使用项目还处在初期阶段,还有许多功能需要实现,有兴趣的可以一起来

下载体验

安装包下载 >> Github >>

猿匹配 Google Play

项目截图




开发环境

项目基本属于在最新的Android开发环境下开发,使用Java8的一些新特性,比如Lambda表达式,
然后项目已经适配Android6.x以上的动态权限适配,以及7.x的文件选择,和8.x的通知提醒等;

  • Mac OS 10.14.4

  • Android Studio 3.3.2

项目模块儿

本项目包含两部分:

  • 一部分是项目主模块app,这部分主要包含了项目的业务逻辑,比如匹配、信息修改、设置等

  • 另一部分是封装成library的vmim,这是为了方便大家引用到自己的项目中做的一步封装,不用再去复杂的复制代码和资源等,
    只需要将vmim以module导入到自己的项目中就行了,具体使用方式参见项目app模块儿;

功能与 TODO

IM部分功能

  • [x] 链接监听

  • [x] 登录注册

  • [x] 会话功能

    • [x] 置顶

    • [x] 标为未读

    • [x] 删除与清空

    • [x] 草稿功能

  • [x] 消息功能

    • [x] 下拉加载更多

    • [x] 消息复制(仅文字类消息)

    • [x] 消息删除

    • [x] 文本+Emoji消息收发

    • [x] 大表情消息收发

    • [x] 图片消息

    • [x] 查看大图

    • [ ] 保存图片

    • [x] 语音消息

    • [x] 语音录制

    • [x] 语音播放(可暂停,波形待优化)

    • [x] 听筒和扬声器播放切换

    • [x] 语音实时通话功能

    • [x] 视频实时通话功能

    • [x] 通话过程中的娱乐消息收发

    • [x] 骰子

    • [x] 石头剪刀布

    • [x] 大表情

    • [x] 昵称头像处理(通过回调实现)

App部分功能

  • [x] 登录注册(包括业务逻辑和 IM 逻辑)

  • [x] 匹配

    • [x] 提交匹配信息

    • [x] 拉取匹配信息

  • [x] 聊天(这里直接加载 IM 模块儿)

  • [x] 我的

    • [x] 个人信息展示

    • [x] 上传头像

    • [x] 设置昵称

    • [x] 设置签名

  • [x] 设置

    • [x] 个人信息设置

    • [x] 通知提醒

    • [x] 聊天

    • [ ] 隐私(随业务部分一起完善)

    • [ ] 通用(随业务部分一起完善)

    • [ ] 帮助反馈(随业务部分一起完善)

    • [x] 关于

    • [x] 退出

  • [ ] 社区

    • [ ] 发布

    • [ ] 评论

    • [ ] 收藏

    • [ ] 关注

发布功能

  • [x] 多渠道打包

  • [x] 签名配置

  • [x] 开发与线上环境配置

  • [x] 敏感信息保护

配置运行

  1. 首先复制config.default.gradle到config.gradle

  2. 配置下config.gradle环信appkey以及bugly统计Id

  3. 正式打包需要配置下签名信息,同时将签名文件放置在项目根目录

参与贡献

如果你有什么好的想法,或者好的实现,可以通过下边的步骤参与进来,让我们一起把这个项目做得更好,欢迎参与

VMMatch 官网

https://blog.melove.net/develop-open-source-im-match-and-server/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


memcached-session-manager 将session存储到memchached实现方案时。他主要功能是修改tomcat的session存储机制,使之能够把session序列化存放到memcached中。
Tomcat Native 这个项目可以让 Tomcat 使用 Apache 的 apr 包来处理包括文件和网络IO操作,以提升性能。
EasyTomcat 是一个用来帮助简化 Tomcat 和MySQL 管理的系统,你可以启动、停止和配置 Tomcat和MySQL
riak-session-manager 是使用 Riak 来存储Tomcat session 信息的项目。 配置方法:
tomcat-redis-session-manager 是一个用来将 Tomcat 的 Session 数据存储在 Redis 库中的项目。
这是一款在 Oracle 的 JDeveloper 开发环境下管理Tomcat 的插件,如下图所示:
扩展Tomcat 6.x,使用redis存放session信息!是一个Eclipse项目,最好用EGit来Clone(因为里面有个中文文件名的说明文件).
dhcpcd 是一个兼容 RFC2131的DHCP客户端程序,支持DHCP的全部功能并且体积非常小,只有差不多 46k。
phpDHCPAdmin 是一个基于 Web 的动态主机配置协议(DHCP Daemon)的管理工具,可单独设置组、用户级别;PXE、多子网;空间租赁管理功能。可对数据进行可视化展示、分类。适合大规模的 dhcpd 环境管理。
JDHCP 项目的目的是为 Java 应用增加简单操作 DHCP 协议的方法,DHCP是动态主机配置协议的简称。使用这个API可以轻松的发送、接收和解析DHCP消息,可用于编写DHCP的客户端、服务器端应用。
DHCP服务器为客户端计算机分配IP地址,通常应用在企业网络中以减小配置成本,所有客户端的IP地址都保存在服务器端。
dhcp4java是一个用于操作DHCP信息包的纯Java类库。适用于DHCP服务器, DHCP客户端或DHCP转发。
dhcp-forwarder 是一个 DHCP 中继代理,它将在不同的子网广播域中转发 DHCP 广播信息。
不用看都知道是一个开源的 DHCP 服务器。 Open DHCP Server is a multi-subnet DHCP server. It supports both dynamic and
GAdmin-ProFTPD是一个基于GTK的可视化DHCP服务端管理工具。 更多的屏幕截图请看:http://mange.dynalias.org/linux/gadmin-dhcpd/screenshots/
Dual DHCP DNS Server 是一个提供 DHCP 和 DNS 服务的服务器软件,每一个功能都可以单独启用或者关闭。
Dhcpy6d 是一个开源的 DHCPv6 的服务器软件,相当于为 IPv6 客户端提供 DHCP 协议。
DHCP as a filesystem,要求 FUSE 的支持,使用 Go 语言开发。 安装: GOFUSE=github.com/hanwen/go-fuse
简易图床支持 HDFS 本地存储远端存储等。 Status Esay Graph bed Use HDFS Use Qiniu Use upyun Use Local
一个使用python开发的简单好用的 PXE (DHCP/TFTP/HTTP) 服务器,同时支持netboot、dhcp-