Go在互联网新贵包括技术型创业公司的渗透率非常高,比如字节、滴滴、小红书、Bilibili或者其他科技型创业公司都是主要开发语言。
今天给大家带来一个超值的Go实战项目: go博客系统
这个项目使用Go语言的标准库和模板引擎开发,代码简洁易懂,特别适合Go语言初学者,能快速入门Go 后端开发。
Go的简洁和高性能、严谨的语法非常适合后端编程,如果做go后端编程,最常见的2个库:gin
和 gorm
是必须的。
Go后端开发,这两个库就好比Java的Springboot+Mybaits
的地位,做go后端编程必掌握的技术
项目介绍
实现一个轻量级的个人博客系统,包含以下核心功能:
- 提供一个管理后台,能支持文章的发布、编辑、删除
- 博客有文章评论系统,内容采用Markdown渲染
- 服务端渲染,支持golang内置的模版引擎,生成SEO优化的HTML内容
- 用传统的HTTP表单提交实现数据的提交,不需要学习Javascript就可以实现完整功能
用到技术栈:
- 后端:Go标准库,Gin, Gorm, 没有任何多余的框架依赖,无需微服务架构和前后端分离,回归到最简单的Web开发技术栈
- 模板引擎:html/template,文章内容采用Markdown格式,在服务器上渲染成HTML
- 数据库:SQLite, 不需要复杂的MySQL就可以运行
- 前端样式:TailwindCSS,不需要写一行CSS就可以实现精美的UI效果
项目亮点
🏆 博客基于Golang, gin, gorm 实现,整体代码不到1000行
- 🎉 没有使用前端框架,前端页面使用纯HTML和CSS,不需要前后端分离
- 👍 82%的代码覆盖率,简单好理解的单元测试入门教程
- 📚 数据库支持sqlite和MySQL,单机就可以部署,也可以直接部署到生产环境上
- 🎁 不需要写SQL, 用orm完成所有的工作
- ✍️ 支持Markdown编辑
- 🔥 支持评论
- 📖 支持分页
- 🔧 自带一个管理后台
- 🚀 代码简单,适合新手学习,gin路由、模版、表单、认证一次性学会
项目的结构
给大家看看代码的截图,就几个文件就可以实现完整的功能:
我们也有详细的讲解文档,每个功能模块都做了详细的讲解,确保新手不迷路
除此之外,我们也补全了单元测试,达到82.5%的代码覆盖率
学习收获
这个不到1000行代码,特别适合学后端开发,Go最大的特点就是简单,你甚至需要自己写一个main的入口函数,并且需要自己启动一个HTTP服务器,通过这种几乎原始但简单的方式,你能掌控每个环节,不会让程序运行一行多余的代码:
- 如何启动一个Go程序,启动一个HTTP服务器,并且设置路由
- 如何配置HTTP路由,实现不同的Method分配到调用函数,并且通过中间件的实现扩展
- 学会go的模板引擎,实现自定义的模版函数
- 数据库的基础操作,用gorm不写一行SQL做到CRUD
- 如何实现HTTP的提交表单
- 如何实现用户的认证,5行代码就可以实现权限管理
- 不需要CSS知识,如何学会做美观的UI,简直是后端开发人员的救星框架:TailwindCSS
项目展示:
课程大纲
- 项目介绍: 讲解一个博客系统的设计要点
- 文章管理功能开发: 设计文章系统,基于Markdown实现文章的编辑
- 评论功能开发: 评论的设计,包括如何提交表单数据
- 后台管理功能开发: 实现管理员后台,方便做文章、评论的管理
- 项目部署和启动: 如何讲自己的代码发布到线上,支持MySQL,更专业的服务发布上线
真正的学会吃透这个课程
所有的实战项目,如果你只看是只能看懂,唯一吃透的方式就在在课程的基础上继续深入做功能开发
实践是学习编程的唯一方式!
我也留了一些实践作业,自己动手实现功能,真正的把课程吃透,遇到问题可以群和老师沟通:
- 实现复杂路由,实现sitemap.xml自动化生成
- 实现用户系统,支持多用户
- 实现前后端分离,提示操作体验
- 实现单元测试,提升开发效率
- 实现高级编辑器,支持图片上传
适合人群
- GO语言的初学者
- 学习Go语法后想快速搭建项目的开发者
- 想快速开发个人博客系统的开发者
学习交流
入职啦公众号,里面有详细的介绍
如果你现在正在学习Go语言,或者需要一个实战项目可以快速入门,再者想要一个个人的博客系统,这个项目是非常适合你的选择。