2018至2023我的开源项目分享

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 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等常用中间件, 贴近生产环境实际经验开发而来不断完善、优化、改进中。作为博主的开源项目集大成者,看完这个项目一定能受益匪浅!



相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
目录
相关文章
|
5月前
|
Kubernetes 监控 Cloud Native
开源项目推荐
探索 Kubernetes 工具和资源:Kubernetes Goat 提供了一个有漏洞的集群来学习安全实践;kube-state-metrics 收集集群状态指标以辅助监控;Goldilocks 优化 Kubernetes 资源请求;KubePlus 从 Helm 图表创建 Kubernetes API;kubecm 管理 kubeconfig 文件更便捷。
|
5月前
|
前端开发
决定做一个开源项目
决定做一个开源项目
23 0
|
6月前
|
自然语言处理
分享开源项目Chatwoot
Chatwoot是一个开源的客户支持平台,它提供了一系列工具,使企业能够通过各种渠道(如电子邮件、社交媒体、网站聊天窗口等)与客户进行沟通。它的目标是为企业提供一个统一的界面,汇总来自不同渠道的客户对话,从而提高客户服务效率和效果。
97 0
|
消息中间件 缓存 NoSQL
2018-2021我的开源项目总结
2018-2021我的开源项目总结
90 0
开源项目推荐:MiNiGUI和HybridOS
开源项目推荐:MiNiGUI和HybridOS
131 0
|
消息中间件 分布式计算 Kafka
如何让开源项目成为你的良师益友
开源项目不仅仅给公司带来巨大价值,同时也可以给使用者自身带来巨大价值。
2794 0
|
Web App开发 安全 API
|
NoSQL Redis 数据安全/隐私保护
开源项目
renren-security 3.1.0 发布:拿来即用的权限管理系统 基于 Redis 实现的分布式队列 KMQueue lombok
925 0
|
存储
acffo的开源项目汇总
1、 XWaveView  , 流动波浪效果                            2、LogRecordHelper, logcat日志记录存储到文件 可以指定TAG , 将logcat日志写入文件,当log日志过多需要分析的时候使用。
1161 0