2018至2023我的开源项目分享

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
Elasticsearch Serverless通用抵扣包,测试体验金 200元
简介: 2018至2023我的开源项目分享

image.png

本文主要针对博主2018毕业至2023参与软件开发4年多以来自建的三个开源项目进行介绍与分享,希望对看到本文的新入行的初中级开发者或者未毕业想入行的学生们能够起到帮助。下面是项目介绍

一、newbee-mall-pro

newbee-mall-pro 是博主在2019年想要自建PC商城项目时,在 newbee-mall 项目的基础上使用 mybatis-plus 作为 orm 层框架,经过改造升级而来,维护至今。项目也由最初的 Spring Boot2.0 版本升级到 Spring Boot3.0 版本,一路走来给加了不少新功能,算是博主对于商城项目的完整实践,对于新技术也都是运用到这个项目来先行试水。博主开源至今 star 数量最多项目就是这个😂

1.1 功能特点

  1. RedisSearch:支持中文分词搜索,支持商品名称、简介、标签作为搜索项,以及新品、价格排序, 详情可见:更新日志
  2. 秒杀专区:支持功能完备,生产可用的高级秒杀功能,详情可见:更新日志
  3. 优惠券专区:支持优惠券后台配置、用户注册赠券、下单页面优惠券使用等功能
  4. 商城首页使用滑块验证码登录 详情可见:更新日志
  5. 支付时添加了支付宝沙箱支付
  6. 集成Pace页面,添加网页进度条
  7. 添加Spring事件监听机制,解耦下单流程
  8. 集成spring-session-redis,支持分布式部署
  9. 本项目秉持原作者简单易用的原则,代码书写清晰,注释完整,便于新人理解,快速上手
  1. 多数据源配置在Springboot2.7分支,通过jta和seata支持分布式事务
  2. 项目源码:https://github.com/wayn111/newbee-mall-pro
  3. 在线地址:http://121.4.124.33/newbeemall

1.2 项目评价

通过本项目,除了能学到商城会员、首页配置、商品、搜索、下单、购物车等基本模块功能设计后,还能学到更高级的秒杀、优惠券专区、商城搜索中文分词、滑块验证码等,总的来说该项目麻雀虽小,但是五脏俱全,认真看完你一定有所收获。

二、crowd-admin

crowd-admin 是博主在2018年刚毕业那会,刚参加工作时对开发的后台oa、进销存等管理系统的工作进行复盘后,想要自己开发一个包含rbac权限管理、消息推送功能的后台管理系统。刚开始工作时,博主公司项目框架还是SSM + Shiro + JSP,于是 crowd-admin 这个项目刚建立也是基于 SSM + Shiro + JSP。到2023年 Spring Boot3.0 都发布了,博主也是终于在去年将老的 Spring4.0 版本升级到了 Spring Boot2.7,原本想一鼓作气升级到 Spring Boot3.0,但是 Shiro 一直没有发布 Spring Boot3.0 版本,所以博主也是升不上去了😂

2.1 功能特点

  1. 前后端支持stomp高级协议,完善的websocket配置,支持消息推送、自定义用户认证、连接周期监听等
  2. 支持系统参数配置,支持Spring的@Cacheable注解
  3. 项目按功能模块化拆分,自定义全局统一异常输出,代码清晰合理
  4. 集成elfinder模块,包含完整的文件管理操作,包含文件上传、删除、压缩、移动、预览等诸多操作
  5. 支持后台消息/邮件推送、数据字典、系统参数配置、各模块操作日记记录
  6. 支持系统服务监控、在线用户监控、数据源监控等操作
  7. 支持redis/ehcache切换使用
  8. 支持ip2region本地化
  9. 支持多数据源操作
  10. 前端使用H+模板,样式美观,支持ajax下载文件,js代码简洁,清晰,避免过度封装
  11. 项目源码:https://github.com/wayn111/crowd-admin
  12. 在线地址:http://121.4.124.33/crowd/

2.2 项目评价

crowd-admin 是一个后台权限管理系统脚手架,集成了rbac权限管理、消息推送、邮件发送、任务调度、代码生成等常用功能,系统内各个业务按照模块划分,设计优良。是一个 Java 新人易于上手,学习之后能够掌握企业后台开发所需常用技能,快速融入实际企业开发的指导项目

三、waynboot-mall

waynboot-mall 时博主在2020开发而来,那时候网上很多的H5商城项目都是半开源版本,要么没有H5前端代码,要么需要加群咨询,属实恶心。于是博主决定自己开发一套完整的移动端H5商城,包含一个管理后台、一个前台H5商城、一个后台api接口、一个商城api接口。

3.1 功能特点

  1. 商城接口代码清晰、注释完善、模块拆分合理
  2. 使用Spring-Security进行访问权限控制
  3. 使用jwt进行接口授权验证
  4. ORM层使用Mybatis Plus提升开发效率
  5. 添加全局异常处理器,统一异常处理
  6. 使用springboot admin进行服务监控
  7. 集成七牛云存储配置,上传文件至七牛
  8. 集成常用邮箱配置,方便发送邮件
  9. 添加策略模式使用示例,优化首页金刚区跳转逻辑
  10. 拆分出通用的数据访问模块,统一redis & elastic配置与访问
  11. 使用elasticsearch-rest-high-level-client客户端对elasticsearch进行操作
  12. 支持商品数据同步elasticsearch操作以及elasticsearch商品搜索
  13. RabbitMQ生产者发送消息采用异步confirm模式,消费者消费消息时需手动确认
  1. 下单处理过程引入rabbitMQ,异步生成订单记录,提高系统下单处理能力
  2. 在线地址:http://121.4.124.33/mall

3.2 项目评价

waynboot-mall 是一套全部开源的微商城项目,包含一个运营后台、H5商城和后台接口。 实现了一个商城所需的首页展示、商品分类、商品详情、sku详情、商品搜索、加入购物车、结算下单、订单状态流转、商品评论等一系列功能。 技术上基于最新得Springboot3.0、jdk17,整合了Redis、RabbitMQ、ElasticSearch等常用中间件, 贴近生产环境实际经验开发而来不断完善、优化、改进中。作为博主的开源项目集大成者,看完这个项目一定能受益匪浅!



相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
目录
相关文章
|
存储 Web App开发 人工智能
『GitHub项目圈选18』推荐5款本周 超实用 的开源项目
『GitHub项目圈选18』推荐5款本周 超实用 的开源项目
1042 1
|
前端开发 API
服务端渲染-nextjs如何发起请求
服务端渲染-nextjs如何发起请求
982 0
|
2月前
|
自然语言处理 IDE 开发工具
Xcode 26.0.1 (17A400) 发布 - Apple 平台 IDE
Xcode 26.0.1 (17A400) 发布 - Apple 平台 IDE
320 1
|
3月前
|
移动开发 缓存 安全
我去,Gitee官方推荐的开源项目,这程序我是不能干了,这功能真是逆天了
ShopXO 是一款为商业落地而生的集成式电商系统,免费、开源、功能齐全,真正解决中小企业多端运营 + 可视化装修 + 模块扩展 + 安全性能等痛点。生态成熟、社区活跃,是值得收藏与二次开发的优秀项目。欢迎 Clone 或 Star 项目,一起见证中国开源电商力量!
125 0
|
6月前
|
关系型数据库 数据库 PostgreSQL
【赵渝强老师】使用postgre_fdw访问外部PostgreSQL
本文介绍了如何使用postgres_fdw扩展让PostgreSQL访问外部远端数据库数据。通过编译安装扩展、修改配置文件、重启数据库、创建扩展及外部服务器对象等步骤,最终实现本地数据库通过外部表访问远程数据。附带视频讲解,详细演示操作流程,并提醒需调整远端PostgreSQL配置以支持远程登录。
165 7
|
算法 数据挖掘 BI
❤️ Python 利用NetworkX绘制精美网络图 ❤️
NetworkX 是一个用 Python 语言开发的图论与复杂网络建模工具,内置了常用的图与复杂网络分析算法,可以方便的进行复杂网络数据分析、仿真建模等工作。networkx支持创建简单无向图、有向图和多重图;内置许多标准的图论算法,节点可为任意数据;支持任意的边值维度,功能丰富。主要用于创造、操作复杂网络,以及学习复杂网络的结构、动力学及其功能。用于分析网络结构,建立网络模型,设计新的网络算法,绘制网络等等。
2855 0
❤️ Python 利用NetworkX绘制精美网络图 ❤️
|
API Go 网络架构
GEE Colab——如何从本地/Google云盘/Google Cloud Storage (GCS)上传和下载
GEE Colab——如何从本地/Google云盘/Google Cloud Storage (GCS)上传和下载
816 4
|
存储 安全 算法
一文简单了解RPMB
一文简单了解RPMB
1311 0
|
并行计算 Java Spring