1.前言
感觉自己有着满腔的热血,很想折腾折腾,而且也想精进一下自己的技术水平,想着利用空闲时间来自己搞搞独立开发,不想着靠这个发家致富,只想着学习一下更多的技术,并且现在也具备着初步的前后端全栈道能力,就当一个锻炼自己的机会
2.技术准备
前端:
- web端:vue3
- 移动端:uniapp(前期打算),flutter(正在学习中,打算后期主力使用)
- 桌面端:electron(主力使用),flutter(后期掌握后可以扩展使用)
后端:
- golang:Gin
- python:Django、flask、fastapi
后端根据业务复杂程度和性能要求进行选择,目前的主要打算是golang对应的技术栈
数据库:
- 移动端:sqllite3
- 轻量:mongodb(面对不复杂的数据关系的时候使用非关系型数据库)
- 常规:MySql、PostgreSQL
测试:
- 移动端:使用airtest做好自动化测试框架部署在Jenkins上结合CI实现自动化的触发测试
- web端:使用python代码结合selenium搭建好测试框架后结合CI实现自动化的测试
3.环境准备
服务器准备:
- 主要节点:一台旧笔记本16+1t,格式化了500Gg刷ubuntu系统作为服务器的主要使用系统
- 测试节点:有一台2+64G的香橙派开发板,目前的打算是作为Jenkins的salve节点后续用于做自动化测试的任务
- 后期扩展打算:打算在有更多的需求的时候购置一台32+1t的mini主机做服务器
- 云服务器:目前还有一台华为云的云服务器,主要用于搭建frp来给内外的机器提供对外的访问,以及用来作为搭建异地组网的主路由
- 对外访问:使用frp内反向代理进行内网穿透给内网设备提供共网的端口
- 组网:使用zerotier来实现异地组网
服务:
- 公共仓库:GitHub
- 私有仓库:Gitea(目前资源有限考虑轻量化的产品)、Gitlab(后期扩展设备后搭建gitlab提供更好的CI/CD服务)
- 项目管理:禅道(标准化一下项目管理,尽量做到与企业开发的流程同步)
- 运维和部署:Jenkins、docker、k8s
- 文件管理和对象存储:minio和filebrowser
4.结尾
这个周末搞了一天,把基本的环境基本上都搭建完了,目前规范一下自己的开发和部署流程,技术栈尽量做到整个软件生命周期的全覆盖,先自己搞一点简单的东西做着完一下,后续有了更好的项目可以好好去独立开发一个完美的产品,目前也仅是学习和给自己提供更多的项目经历的一个机会