当前位置:首页 > 公众号精选 > 程序员鱼皮
[导读]为了快速解决这些问题,鱼皮决定带大家一起学习和鉴定一些网络热门编程项目,希望能帮大家更快地选择适合自己的项目,少走弯路~本次是第 2 期,也是我 星球 里呼声相对比较高的项目 —— 尚医通(网上的视频教程总播放量过百万)。

现在网上有很多播放量巨高的免费编程项目教程,很多学编程的同学可能都看过,就导致大家可能写在简历上的内容都差不多。

于是就有了下面这张图:

那么这些 “明星” 项目到底怎么样?是否还值得去做?我们又该怎么学习呢?

为了快速解决这些问题,鱼皮决定带大家一起学习和鉴定一些网络热门编程项目,希望能帮大家更快地选择适合自己的项目,少走弯路~

本次是第 2 期,也是我 星球 里呼声相对比较高的项目 —— 尚医通(网上的视频教程总播放量过百万)。

介绍

这是一个在线预约挂号项目,包含 3 个系统:

  1. 预约挂号系统前台:用户可以选择医院、科室、时间来预约挂号、支付订单并获得就医提醒。
  2. 预约挂号系统管理员后台:管理员可以设置医院、设置数据字典、管理订单等。
  3. 外部医院管理后台:相当于医院自己维护的系统,通过签名校验的方式调研我们提供的接口来管理医院数据。

系统间关系如下图:

快速导学视频:https://www.bilibili.com/video/BV1eV4y1T7uS(建议先看这个)

项目视频:https://www.bilibili.com/video/BV1V5411K7rT

项目代码:可以在课程官方的视频评论区下获取

星球 的同学也可以直接获取我整理好的代码 + 学习资料 + 原创笔记 + 简历亮点:https://t.zsxq.com/06EEiyfq7

预约挂号系统前台:

预约挂号系统管理员后台:

医院接口模拟平台:

技术

大概用了以下这些,核心是 Spring Cloud 微服务:

前端

  • Vue
  • vue-admin-template 管理员模板
  • VueQriously 二维码生成库
  • babel
  • webpack
  • nuxt 服务端渲染
  • element ui

后端

微服务:

  • Spring Cloud Alibaba 框架
  • Nacos 注册中心
  • Spring Cloud Feign 远程调用
  • Spring Cloud Gateway 微服务网关
  • Maven 子父多模块
  • Docker(部署项目、安装服务)

数据存储:

  • MongoDB:负责存医院基本信息(性能更高)
  • MySQL:存储用户、订单、预约等关系信息

中间件:

  • Redis:缓存、存储验证码
  • RabbitMQ:应用解耦、消息通知
  • Nginx:部署项目

工具库:

  • easy excel:读写 Excel 文件
  • Json Web Token:生成 jwt token
  • Joda Time:日期时间操作

技术架构图

看起来很复杂,但其实本项目主要编码的就只有图中间的网关和服务集群部分:

尚医通架构图.png

项目启动

请看这个视频:https://www.bilibili.com/video/BV1eV4y1T7uS

项目学习

本项目的学习重点

  1. 微服务的思想、划分以及实现方式,以及相关技术的用法:


    1. 注册中心
    2. 客户端调用
    3. 微服务网关
  2. 熟悉一个完整的业务流程(信息发布 => 信息展示 => 购买 => 下单支付 => 统计管理)

  3. 登录认证机制,包括手机号登录、微信扫码登录、OAuth、JWT 等知识

  4. 如何运用合适的数据库来解决问题?比如 MySQL 存储关系型数据、Redis 用于缓存、MongoDB 存储一些非关系型的数据(提高访问速度)、RabbitMQ 来实现异步通知和应用解耦。

  5. 调用第三方 API 来解决实际问题,比如微信接口、OSS、SMS

  6. 学习项目的目录结构及编码规范,比如通用返回对象、全局异常处理器、ContextHolder 等

  7. 提升前端开发的经验,比如 Nuxt 框架的使用,了解服务端渲染

如何学习微服务项目

对于微服务项目的学习,大家可以遵循以下步骤,也就是从整体到局部的思想:

  1. 了解项目业务
  2. 把项目运行起来
  3. 走完一套完整的业务流程,了解整个系统做了什么事
  4. 了解有哪些服务、以及每个服务的作用(做了什么事情)
  5. 了解服务之间是如何互相通讯的
  6. 根据需求阅读对应服务的源码细节

本项目的微服务划分

  • common 项目公共代码
  • model 项目数据模型层(只提供接口,便于公用)
  • service 具体的业务逻辑(微服务)
  • service_client 服务调用客户端(只提供接口,便于公用)
  • service_gateway(微服务网关)负责统一校验 / 拦截、跨域、请求转发
  • 公共服务:数据字典管理,导入导出(公共用的枚举值)
  • 医院服务:管理医院,医院信息、排版信息、医院设置信息的增删改查
  • 短信服务(SMS):负责发送短信验证码
  • 用户服务:管理用户、就诊人、用户登录
  • 订单服务:支付订单,订单(预约)管理
  • 存储服务:上传文件(上传用户的图片)
  • 统计服务:分析下单情况
  • 定时任务服务:每天 8 点就医提醒

对应的功能模块图如下:

建议大家在设计系统、学微服务项目时也可以通过画图帮助自己理解

学习建议

  1. 这个项目 更适合后端同学 。如果你已经学完 SpringBoot、微服务的大致的知识,可以把这个项目作为第一个微服务的练手项目,学习技术的整合运用、接触更多的业务场景。
  2. 项目非常真实完整、贴合实际,学完这个项目后,也能搞懂电商平台的业务流程了,可以不用再做类似业务的项目。
  3. 整个课程还不错,但没有那么精华,建议大家根据自己的需要去学习课程。比如你要学微信登录或者微信支付,直接去看对应的章节。此外,后端同学看视频时可以跳过前端。
  4. 阅读项目代码时,先大致了解业务、把项目跑起来、了解微服务的每个模块做了什么、再去看代码细节
  5. 项目的坑略多,可以通过这个项目来自己锻炼自己的 debug 能力(狗头)。可以看我的文档来跑项目、少踩一些坑;还建议多看视频的评论区,可能有同学给出了学习建议和问题的解决方案。
  6. 项目用到了微信登录和支付,这块的知识讲得不错,适合入门学习。但由于只有企业账号才能使用这些微信接口,所以学习时主要是了解流程,实际开发中再看文档就好了,不用花时间折腾。
  7. 教学类项目,比较追求快速入门,有些功能的实现并不完美(比如下单功能没有考虑并发安全问题,可能导致超卖)。此外,项目几乎没有用到并发编程、设计模式和自定义的 SQL 查询,可以自己思考一下如何运用这些知识技能来优化项目。




既然这个项目那么热门,很多同学都做过,那还能不能写在简历上呢?

答案是当然可以!只要是你自己亲手做过的、能跟面试官讲出来的项目都可以写到简历上。

只不过对于此类热门项目,建议大家给它换个皮,比如改个名称、改个背景、加点功能等等,也不要暴露自己是跟着视频敲的。

再说了,哪怕是同一个项目,大家写在简历上的内容也是各有千秋的。有的同学可能就简单地写自己做了什么模块,而有的同学可以刷刷刷写出十几个亮点。

那我这里也给 星球 的小伙伴整理了 11 个有关该项目的亮点(也是学习重点)、都可以写在简历上,大家可以拿去参考~

项目亮点地址:https://t.zsxq.com/06EEiyfq7

这里为了防止大家写的都一样,仅 星球 同学可见,此外,我做过的每个项目、给大家分享的每个项目的亮点也都持续整理在星球的知识库里了。

如下图:


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

业内消息,近日日本官方表示计划扩大对与半导体或量子计算相关的四项技术的出口限制,这是全球管制战略技术出口的最新举措。该限制措施向所有国家/地区(包括最受惠的贸易伙伴韩国、新加坡和中国台湾)的此类货物将需要出口管制官员的批...

关键字: 半导体 出口管制 商务部 GAA

业内消息,日前中国大陆智能手机品牌大厂华为新款旗舰机Pura70日前重磅上市,掀起一股抢购风潮,一开卖就秒杀,各大渠道均呈现缺货状态,甚至出现黄牛乱象。近期许多海外网站陆续出具拆解报告,赫然发现Pura70除最高端机型外...

关键字: 华为 华为Pura 70

业内消息,近日台积电在美国亚利桑那州的新扩张因其无数的工人待遇恶劣的例子而受到工程师和业内人士的严重关注。当地报告称,该公司在其中国台湾工厂的长期加班文化、残酷的管理风格和对其工程师的不良待遇已经不适当地转移到美国工人上...

关键字: 台积电

Spotify和苹果公司在欧洲再次因为佣金问题发生冲突。苹果公司拒绝了Spotify在欧洲新规生效之后的第2次更新,对此Spotify表达了强烈不满。苹果公司于4月6日响应欧盟近期提出的“限制导流”(anti-steer...

关键字: Spotify 苹果

业内消息,近日韩国存储芯片巨头SK 海力士宣布,为应对用于 AI 的半导体需求剧增,决定扩充 AI 基础设施(Infra)的核心产品即 HBM 等新一代 DRAM 的生产能力(Capacity) 。

关键字: SK海力士 DRAM

京元电子在重大讯息说明会中宣布,将出售持有苏州子公司京隆科技 92.1619% 的股权,预估交易金额约 48.85 亿人民币,将于第三季度完成交易,届时将退出中国大陆半导体制造业务。

关键字: 半导体制造 半导体封测 封装测试 京元电子

LED驱动模块RSC6218A 5W-18W迷你高效驱动电源应用,小功率、小体积、高效率

关键字: LED驱动模块 驱动电源应用 LED电源芯片

业内消息,近日台积电在北美技术研讨会上宣布,正在研发 CoWoS 封装技术的下个版本,可以让系统级封装(SiP)尺寸增大两倍以上,实现 120x120mm 的超大封装,功耗可以达到千瓦级别。

关键字: CoWoS 台积电 封装

据外媒报道,字节正在内部探索出售TikTok美国业务多数股权,并援引内部人士披露的信息称 “沃尔玛或为最理想买家”。报道还称,讨论中的一种情况是字节出售美国50%以上TikTok股份,但保留少数股权。

关键字: 字节跳动 TikTok

业内消息,HMD 正在计划重启一些经典的诺基亚功能手机。今年 3 月初,该公司预告了将于 5 月发布的一款功能手机。现在该机的身份已经曝光,新款诺基亚 3210 的谍照已经泄露,展现了新机部分新特性。

关键字: 诺基亚 功能机 HMD
关闭