“开心顺风车”内部开源项目:集开心力量,成顺心出行
1.“开心公益顺风车”小程序简介 经过几个小伙伴两周多的方案设计、框架搭建以及代码coding,“开心公益顺风车”小程序初具雏形。现将小程序demo简要介绍如下: “开心公益顺风车”小程序的框架:
在通过微信客户端的“扫一扫”功能扫描小程序的二维码后,会进入到“开心公益顺风车”小程序的主界面。
第一次登录小程序,会弹出提示是否允许使用微信昵称和头像信息等的提示,请选择“允许”。
主界面会出现开心公益顺风车的logo,宣传语和两个按钮。
如果用户有车,作为司机提供顺风车服务,请点击“开车”按钮。
然后会进入创建行程页面,司机填写完善行程信息和个人信息(只需要填写一次),点击“创建行程”按钮,会创建一个新的行程,并将行程信息发布出去。
司机会进入等待页面,可通过“刷新”按钮或者下拉刷新,看到乘客信息。
如果乘客坐满,司机可以点击“出发”按钮,开始行程。如果暂无乘客或者司机临时有事可以点击“取消行程”按钮,结束本次行程。
如果用户无车,作为乘客想要搭乘顺风车,请点击“乘车”按钮。
然后会进入乘客选择页面。在该页面中乘客可选择适合自己的顺风车。
点击完成后会进入乘客等待页面,在该页面可以看到司机的信息和同行乘客的信息。
通过“刷新”按钮或者下拉刷新,能够及时看到最新的乘车信息。如果乘客临时有事无法搭乘,可点击“离开”按钮退出此次行程。
2.项目开源简介 随着“开心公益顺风车”小程序demo的完成,我们将自己的拙作开源出来。 希望提供一个平台吸收到开发中心的高手和编程爱好者,大家群策群力,发挥自己的聪明和能力,一起完善我们的开心公益顺风车项目,真正做到“开心公益顺风车,顺心上下班”!
目前我们已将该项目所有代码发布到GitHub上,有兴趣的同事可以通过https://GitHub.com/shunfengcheng/KXShunfengche下载demo源码来了解。
如果有兴趣加入该项目,需要登录自己的GitHub账户(如无请申请一个),在GitHub上搜索项目“KXShunfengche”,找到该项目。
3.开发工具简介 3.1.小程序简介 微信小程序是腾讯公司于2017年1月9日发布的一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用。也体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题。应用将无处不在,随时可用,但又无需安装卸载。 在真正开发之前,需要开发者对微信小程序有一些基础的了解,并下载使用微信官方提供的开发工具。这部分内容可参考小程序介绍: https://mp.weixin.qq.com/debug/wxadoc/introduction/index.html?t=201729 以上链接中也对界面设计提出了细致的要求,开发人员在对界面进行修改之前最好先了解小程序界面设计的规范和要求。
3.2.GitHub简介
GitHub 是一个面向开源及私有软件项目的托管平台,因为只支持 Git 作为唯一的版本库格式进行托管,故名 GitHub。
作为开源代码库以及版本控制系统,GitHub拥有超过900万开发者用户。随着越来越多的应用程序转移到了云上,GitHub已经成为了管理软件开发以及发现已有代码的首选方法。
作为一个分布式的版本控制系统,在Git中并不存在主库这样的概念,每一份复制出的库都可以独立使用,任何两个库之间的不一致之处都可以进行合并。
GitHub可以托管各种git库,并提供一个web界面,但与其它像 SourceForge或Google Code这样的服务不同,GitHub的独特卖点在于从另外一个项目进行分支的简易性。为一个项目贡献代码非常简单:首先点击项目站点的“fork”的按钮,然后将代码检出并将修改加入到刚才分出的代码库中,最后通过内建的“pull request”机制向项目负责人申请代码合并。
3.3 GitHub上传机制
GitHub提供了shell客户端和可视化客户端两种本地代码管理工具。在开始使用之前,需要用户登录GitHub官网注册一个用户(www.GitHub.com),以及下载一个GitHub客户端管理工具(https://desktop.GitHub.com/)
在GitHub的个人主页,新建一个仓库repository或者fork一个已有项目到自己的仓库里。点击clone按钮,复制该项目的地址,然后打开GitHub客户端,点击左上角添加按钮,选择“clone”项,将刚才复制的地址粘贴进去,选择一个本地的文件夹,存放下载到本地的项目,点击clone按钮,即可将远程的项目下载到本地。
打开本地存放项目的文件夹,可在本地对程序进行修改和完善,保存后使用GitHub客户端工具,即可将代码的修改和变更进行上传。
延伸阅读:http://rogerdudler.GitHub.io/git-guide/index.zh.html
4.“开心公益顺风车”项目管理
开心公益顺风车项目的项目地址是:
https://GitHub.com/shunfengcheng/KXShunfengche.git
在GitHub上搜索项目“KXShunfengche”,找到该项目。
为该项目贡献代码非常简单:首先点击项目站点的“fork”的按钮,然后将代码检出到自己的仓库中。使用4.3节介绍的方法在本地对程序进行修改和上传。上传后通过内建的“pull request”机制向项目负责人申请代码合并。
对于开发人员提交的代码申请,项目组会定时对其进行审核。
开发人员在提出pull request申请时,需要详细描述自己对程序做的修改以及完成了哪些功能点,方便审核人员及时掌握代码情况。审核人员在审核无误后会将代码进行合并,及时将新增功能发布。
目前我们列出了部分任务清单,参与者可在根目录下看到这个任务清单,选择自己有能力完成的任务进行开发。如有其他意见和想法也可添加在任务清单中让其他参与者认领。
5.开发规范 微信小程序的开发主要采用Javascript和CSS,开发规范基本和js,css的开发规范保持一致。除此之外,针对本项目的开发,具体还有以下规范注意事项: 全局变量要在app.js的globalData中声明并初始化; 每一个页面的本地变量,要在该页面对应的data中声明并初始化; 每一个页面的页面布局,要放在该页面对应的.wxss文件中。对于公共的页面布局属性,可放在app.wxss文件中; 无论是变量还是方法都要添加注释说明,注释要至少包括用途、创建时间、创建者等内容; 跨页面传递参数可使用全局变量、本地缓存或者navigateTo的方法。本地缓存是永久存储的,最大容量为10M,不建议将关键信息全部存在本地缓存中,以防用户换设备的情况。 其他注意事项会随着项目的持续开展增添进来,可随时关注。 关于开发规范的延伸阅读:
6.奖励机制 对于小程序开源项目的贡献者,以及提供顺风车服务的开心员工,我们会在之后的项目开展中进行一系列的奖励计划和积分计划。 奖项暂设有开源贡献奖、优秀司机奖、开心乘客奖等内容。 对于实际运维过程的开展,会在后期尝试增加积分计划。也请各位有相关经验的同事踊跃献言献策。 7.关于我们 项目组建立了一个微信群,希望大家踊跃发言,完善我们的开心公益顺风车。