一、项目分为哪些功能模块?
项目分了前端(Flutter,javascript, css, html5等)和后台(node.js),服务器使用了腾讯云的Baas架构。
前端的功能包括:登录模块、文件夹模块、笔记模块、复习模块和同步模块。
二、我负责哪些任务,使用了什么技术栈?
我主要负责复习模块和同步模块,当然还负责后台的nodejs服务器端(因为我是全栈),最后能按时按质量完成。
三、有哪些难点,怎么解决的?
最难的部分,就是同步模块,因为国内不能访问官方的Firebase,我们也找了其他第三方,如ObjectBox,但都不能很好地满足要求。所以,最后只能自己实现,这样最灵活。
虽然开始的时候,进度有一些影响,但最后还是完全实现。利用了腾讯的TCB的实时实数库的通知功能,实现多端的数据实时同步。
第一阶段,实现了自动同步,保证了用户数据的实时更新。
第二阶段,优化了同步逻辑,针对『节点』的同步,这样就不会每次同步,都是整个笔记覆盖,不但减少了网络带宽,还提高了安全性和性能。
下一步,还计划使用git的增量模式,目前,相信很快就会实现。