A Web clipboard application developed for sharing, displaying, and storing code.
一个为便于分享、展示和存储代码而开发的前后端分离、读写服务分离的 Web剪切板应用.
- SpringBoot: 2.4.2
- Maven: 3.6.3
- MySQL: 8.0
- MongoDB: 4.4.3
- JDK: 1.8
- Redis: 6.2.5
- Log framework: Logback
- RestApi document: Swagger2
visit:http://ip:port/swagger-ui.html - DatabasePool: Druid
visit: http://ip:port/druid/index.html - Editor framework: Ace
- 通过 Mybatis 对 MySQL 的 CRUD;
- 通过 Spring Data MongoDB 对 MongoDB 的 CR;
- 用户自定义短URL;
- 前端优化:美观、在线源代码编辑器插件;
- 获取用户 IP;
- 生成短 URL 算法;
- 定期删除过期 paste 服务;
- 增加全局异常处理;
- 集成 Druid 连接池,监控数据库操作;
- 集成 Swagger API 接口文档展示;
- 增加内容安全保障:使用对称加密技术 AES128 对内容加密保存、读取解密;
- 使用 Redis 缓存中间件,实现缓存预热,提高用户查询速度;
- 服务支持 https。
- 增加用户登录及其相关功能;
- 利用websocket做实时编辑功能,用户能够开辟一个在线粘贴板,得到一个url分享出去。对方可实时查看到最新编辑。
- 在粘贴板下增加一个评论系统,用户可实时在当前粘贴面板上评论、聊天。
- 前端人机交互优化;
- 前端性能优化;
- 研究 and 开启 Ace 插件的更多功能。
- 服务跟踪:生成点击次数。
- 网站用户访问数计算:布隆过滤器,对相同用户去重。
- 从应用层面对两个数据库的操作增加事务,保证事务一致性。
- 使用 Docker Compose 容器编排部署上线。
- 部署时使用 Nginx 反向代理,感受多服务器处理。
- 项目优化(包括服务逻辑、数据库索引、数据库逻辑、代码结构等)。
- 性能测试
有些想到再加~~~🧐🧐
持续撸码维护中~~~🥳🥳