是这样子的,这个项目从开始到现在一直是我一个人在兼职给老板做,从 2017 年开始,中途也休息暂停了大半年,不过现在越来越步入正轨,使用量越来越大,也拿到了客户的合同,从去年开始就一直在考虑增加更多开发成员,所以快新年了就来这里寻求一下。
客户目前是一些城市建设方面的政府部门,用来管理他们的一些文档和流程电子化,但是一直按照 Software as Service 的模式去做,为扩增更多客户做准备。老板在这个行业沉浸多年(为政府提供公共建设项目的项目管理服务公司)。
对你的要求:
码人说码,顺便分享一下棒棒的项目细节:
软件本身分 Web 和移动端,移动端用 ReactNative(Expo) 做的,仅实现小部分功能所以就没必要多做介绍了。Web 前端后端两个项目分开分别由 Rails 和 create-react-app 驱动,运行在青云上的一个 docker swarm 集群里。
项目代码托管在 GitLab.com 上,使用 GitLab 自带的 CI 测试和发布。测试分两层,底层测试仅测试 Rails 里的单元的逻辑,包括所有 GraphQL mutation / query,还有一些 Model / Job 等上面有独立逻辑的方法; E2E 测试覆盖前端后端所有代码。测试覆盖率由 Codecov 一起统计,总体覆盖率长期保持在 90%左右,覆盖几乎所有业务代码,没覆盖的大部分都是一些不容易测试的底层代码。
Renovate bot 随时检测并创建 merge request 升级依赖库到最新,加上 CI 里高覆盖率的测试检测出所有升级导致的问题,每次有新版本点击 CI 运行成功后自动合并即可,这样几乎所有的依赖库都能保持到最新的,例如目前:
如图,最近由 Renovate 创建的 merge request:
Rails 中几乎仅包含 GraphQL 的 API 实现,界面逻辑几乎全部在前端代码里 (create-react-app)。
前端界面库使用的是最新的 Material-UI,项目最开始时使用的是 react-bootstrap,现在已经全替换掉了。
React 代码使用 React Hooks 风格,只剩少部分一些旧代码使用 HOC(Higher-Order Components) 风格还未重构。
GraphQL 库使用的是 Apollo Client,这个我觉得国内朋友了解的不多,即使在国外很流行但有机会用的人也不多。这个是 MeteorJS 的团队做的,质量相当好,功能也很强大,而且还不再需要额外的状态管理库( redux,mobx 等)。
感兴趣的朋友可以发简历和联系方式到我邮箱 me at micy.in ,麻烦顺便透露一下你当前的薪资,仅用来参考给你发放的时薪,肯定能更高(请得起的话),还有还有预计每周平均可用多少小时,这个是弹性的之后可以按需调整。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.