V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wayn111
V2EX  ›  程序员

我的开源项目分享

  •  
  •   wayn111 ·
    wayn111 · 2023-02-12 13:20:07 +08:00 · 2391 次点击
    这是一个创建于 650 天前的主题,其中的信息可能已经有所发展或是发生改变。

    本文主要针对博主 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. 本项目秉持原作者简单易用的原则,代码书写清晰,注释完整,便于新人理解,快速上手
    10. 多数据源配置在 Springboot2.7 分支,通过 jta 和 seata 支持分布式事务
    11. 项目源码: https://github.com/wayn111/newbee-mall-pro
    12. 在线地址: 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 模式,消费者消费消息时需手动确认
    14. 下单处理过程引入 rabbitMQ ,异步生成订单记录,提高系统下单处理能力
    15. 在线地址: http://121.4.124.33/mall

    3.2 项目评价

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

    7 条回复    2023-12-10 10:41:10 +08:00
    GTim
        1
    GTim  
       2023-02-12 14:21:01 +08:00
    感谢
    wayn111
        2
    wayn111  
    OP
       2023-02-13 00:08:31 +08:00 via Android
    @GTim 谢谢
    proxychains
        3
    proxychains  
       2023-02-13 13:30:26 +08:00
    感谢分享
    tools
        4
    tools  
       2023-02-13 14:31:28 +08:00
    哥真厉害😘
    wayn111
        5
    wayn111  
    OP
       2023-02-13 21:51:28 +08:00
    @tools 谢谢
    deali
        6
    deali  
       354 天前
    感谢分享!博主有个人博客吗?
    wayn111
        7
    wayn111  
    OP
       349 天前
    @deali 可以关注我的公众号 waynblog 哦
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2418 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 02:10 · PVG 10:10 · LAX 18:10 · JFK 21:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.