个人项目开发规划

发布时间 2023-07-16 17:34:01作者: 瘦鱼

综述

在工作之余,会开发自己的一些小项目,用于技术学习。这些项目都是自己设计,自己开发实现,旨在锻炼自己的技术水平,同时基于这些项目会产出一些技术文档。如果项目和文档能为大家带来学习上的帮助,或者能帮助大家解决一些实际问题,那我就十分欣慰了。

目前我正在开发的项目有:

序号 名称 简介 详细介绍 演示地址
1 WebPhotoshop 基于HTML5的实时协同图形图像处理系统 更多 WebPhotoshop
2 ishou 基于微服务架构的网站收集系统 更多
3 eblog 轻量级个人博客系统 更多

技术文档会写在:

详细计划

关于这些项目,这里做一个简单的介绍,同时说明下后续的计划。

WebPhotoshop

这是我十年前开发的,目前公布的是一个纯前端的版本,能实现图形绘制、图像处理、图像操作,在github pages中发布后能够直接使用,地址见综述。还有一个完整版的,能实现多人协作操作图像、实时交流,就是多人能同时操作一张图片。因后端需要服务器部署,所以暂时没有公布。

项目主要使用HTML5开发,大部分是前端代码,因自己主要从事后端开发工作,前端开发工作做得比较少,因此这个项目一直搁置了。可以看到这个项目界面还是很老旧,使用的是十年前流行的EasyUI,使用jQuery框架。中间只增加了docker等少数的更新。

这个项目的创意非常好,使用过PhotoShop的人都知道,PhotoShop安装包很大,启动后电脑就会变得很卡。有没有一款在线的图片处理工具呢?输入一个地址,在浏览器上直接使用,不需要安装。另外,处理一张复杂的图片工作量很大,能不能多人一起处理一张图呢?做一个在线的多人协作处理图片软件的想法就诞生了,取名为WebPhotoshop。

这么好的创意,不再继续下去确实有些可惜了。如今也出现了很多新技术,也可以实践下。也产生了新的想法,也可以在项目中实现。因此决定再次启动WebPhotoshop的开发。当然现在的在线图片处理软件太多了,功能和界面远比我开发的强大和美观,继续WebPhotoshop的开发也是对十年前梦想的执着,技术的热爱,以及一种情怀。

项目重点是突出创新,技术和创意上的创新。

计划

  1. 前端功能完善
  2. 前端代码拆分
  3. 后端基于netty实现
  4. docker一键部署
  5. AIGC的引入
  6. 文档输出

ishou

这是疫情开始时,因封闭在家,除工作外时间比较充裕,而启动的一个项目,业务很简单,主要用于收集有用的网站,主要是旨在全面学习和实践微服务和前端技术。在工作中,开发的项目都是别人搭建好的框架,个人只负责开发其中的几个服务,不能深刻理解整个架构的设计思想,不清楚整个架构的搭建过程。前端也只是开发几个页面。没有真正的搭建和开发完整的微服务项目,很难站在一个高度理解微服务的精髓,很难全面掌握开发的各种技术。因此,决定从零开始,搭建和开发一个前后端分离、基于微服务的项目。

项目有以下特点:

  • 基于Spring Cloud实现的微服务
  • 数据库使用了mariadb、redis
  • 前端使用vue
  • nginx作为代理
  • 使用docker一键部署
  • 服务器Linux,云服务器
  • 集成github登录
  • 自实现权限框架
  • 多用户

微服务依然是大趋势,该项目作为架构学习和实践重要项目,会一直继续下去。会引入更多的组件,更多的技术,全面实践大型项目中的各种技术。

项目有很多个服务,对机器性能有要求,个人电脑跑起来可能会很慢,最好另外准备一台机器作为测试环境使用。

项目重点是突出技术全面性。

计划

  1. 新技术引入,AI等
  2. 各种组件的引入,例如kafka、mongodb、ElasticSearch等
  3. 各种实战场景等引入,例如高可用、链路追踪、日志分析等
  4. 完成详细全面的文档,包括概要设计、详细设计、核心技术实现总结等

eblog

用过很多的博客平台,这些博客平台无论样式还是功能都不能定制,因此决定搭建自己的博客,实现完全自定义样式和功能。考虑购买服务器、域名,再从界面设计,到后端实现。应购买的服务器性能一般,因此eblog尽量做到节省资源,做一个小巧实用的博客平台。

后续,项目将继续作为性能优化的实践平台。

大家如果想搭建博客,可以完全使用本项目。

项目有以下特点:

  • 前后端分离
  • 数据库使用了mariadb
  • 前端使用vue
  • nginx作为代理
  • 使用docker一键部署
  • 轻巧实用

项目重点是突出实用性。

计划

  1. 进一步优化性能
  2. 进一步节省资源
  3. 做到实用

结束

未来,仍然继续开发上述三个项目,并写各种文档,旨在提高技术水平、实现个人想法、作为工作参考。

希望上述项目能给大家带来帮助。