项目:记一次合作开发OA系统的经历

2025年1月5日开始与朋友共同制作他们学校的学生会OA系统,主要内容是关于他们学生会的考勤和签到检查拍照等十几项功能。
在选择该项目的团队技术栈的时候,在考虑到该OA系统也不需要太高的安全性和性能,个人第一倾向还是PHP+MySQL+HTML+CSS+JS+jQuery+Ajax+Bootstrap。主打一个能用就可以,并不考虑其他的。不过毕竟是团队协作,也得考虑一下所有人的技术倾向,又因为这个也是无偿制作,也确实只需要能用就可以了。团队里的朋友也不会PHP,只会flask,而mysql也不想用,索性flask+sqlite3省事。
就这样两个人就开始动工了,协作也是最原始的协作,GitHub创建一个私有仓库,我写一部分功能你写一部分功能,就这样登录界面和登出和整体的页面架构,然后他就对其登录记录进行webhook的推送到企业微信等上面。
一直干到昨天17号晚上,这个项目取消了,不过也是在情理之中和意料之内的,GitHub提交了18次,后端代码一千两百多余行,29个页面,采用的是jinja2模板。。
就大概的总结一下本次项目合作经验好了。

  1. 团队合作最重要的是坚持,也并不是人越多越好,人能干活才是最重要的,虽然到最后结束了也只有我们两个人,但也不妨碍我们完成了该OA系统的所有的初始页面和日志系统部分和登录登出还有报修、物品申领。现在一看这些功能,说实话也和钉钉里面的一些功能冲突,当时也没有想到钉钉那些,不过下次还是得优先去找是否有相关的平替,除了学习外还是能减少工作量比较好,毕竟只要能完成项目,实现该项目的功能就可以了,其他的都是浮云。
  2. 技术栈的选择一要考虑项目是否有高并发和安全性等需求,要先贴切用户和服务场景,适用多种环境和需求,二要考虑团队技术栈的偏好,如果团队技术栈都一样,那么就选择团队技术栈,如果团队技术栈都不一样,那么就选择团队技术栈中比较适合的,如果都一样,那么就选择自己喜欢的。
  3. 项目需求确定好了,技术栈也确定好了,就开始动工了,不得不说,像这样没有前后端分离的合作,还是前后端都堆叠在一起的,还是得先把所有前端页面都做出来个初始的,再去写对应的后端功能和代码比较好。
  4. 多沟通是正确的,如果有什么问题也提前在群里说一声,这样大家都能知道,也能提前解决问题,而不是等到最后才发现问题,这样就得重新来了,虽然本次合作也没有遇到沟通问题,但是沟通次数多了,也确实比个人开发舒服点。
  5. 良好的心态和良好的作息也是非常重要的。
    另外,也没有其他的了,多提升多打开眼界,最为重要。

项目:记一次合作开发OA系统的经历
https://moonsky33.github.io/blog/2025/01/18/项目:合作制作校学生会oa系统/
作者
明月清风
发布于
2025年1月18日
许可协议