• Stars
    star
    204
  • Rank 192,063 (Top 4 %)
  • Language
    Go
  • License
    MIT License
  • Created almost 2 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

从设计、开发、测试到部署,带你从零实现高质量的 Go 应用

miniblog 项目

miniblog(微型博客) 是一个 Go 语言入门项目,用来完成用户注册、博客创建等业务。miniblog 入门但不简单:

  • 入门: 适用于刚学习完 Go 基础语法,零项目开发经验的 Go 开发者;
  • 不简单: 本项目来自于一线企业的大型线上项目,项目本身是一个企业级的项目,学习完之后,完全可以用来作为企业级项目的开发脚手架。

miniblog 实现了以下 2 类功能:

  • 用户管理: 支持 用户注册、用户登录、获取用户列表、获取用户详情、更新用户信息、修改用户密码、注销用户 7 种用户操作;
  • 博客管理: 支持 创建博客、获取博客列表、获取博客详情、更新博客内容、删除博客、批量删除博客 6 种博客操作。

本项目适合人群

  • 刚学习完 Go 基础语法,想快速学习,以参与公司 Go 语言开发工作的开发者;
  • 掌握 Go 基础语法,零 Go 应用开发经验,想通过完整的实战,快速、系统的学习 Go 开发的开发者;
  • 有意从事 Go 应用开发,但尚未入门或入门尚浅的开发者;
  • 有过 Go 应用开发经验,但想了解某一部分开发方法的开发者。

课程:

建议: 先学习掘金课程,再学习极客时间课程,带你从入门进阶为高级。

Features

  • 使用了简洁架构;
  • 使用众多常用的 Go 包:gorm, casbin, govalidator, jwt-go, gin, cobra, viper, pflag, zap, pprof, grpc, protobuf 等;
  • 规范的目录结构,使用 project-layout 目录规范;
  • 具备认证(JWT)和授权功能(casbin);
  • 独立设计的 log 包、error 包;
  • 使用高质量的 Makefile 管理项目;
  • 静态代码检查;
  • 带有单元测试、性能测试、模糊测试、Mock 测试测试案例;
  • 丰富的 Web 功能(调用链、优雅关停、中间件、跨域、异常恢复等);
    • HTTP、HTTPS、gRPC 服务器实现;
    • JSON、Protobuf 数据交换格式实现;
  • 项目遵循众多开发规范:代码规范、版本规范、接口规范、日志规范、错误规范、提交规范等;
  • 访问 MySQL 编程实现;
  • 实现的业务功能:用户管理、博客管理;
  • RESTful API 设计规范;
  • OpenAPI 3.0/Swagger 2.0 API 文档;
  • 配套有高质量的掘金课程;

提示:以上这些功能点,是我根据一线 Go 开发经验,所挑选的核心功能,这些功能也涵盖了 Go 企业应用开发中,大部分的核心功能。通过这些功能可以确保在学习完本项目后,你能够开发一个高质量的企业应用。

Installation

$ git clone https://github.com/marmotedu/miniblog.git
$ go work use miniblog # 如果 Go 版本 > 1.18
$ cd miniblog
$ make # 编译源码

Documentation

Feedback

如果您有任何反馈,请通过 [email protected] 与我联系。

Contributing

欢迎你贡献代码和 Star !

开发规范

本项目遵循以下开发规范:miniblog 项目开发规范

Authors

  • @孔令飞

  • 可加我微信 nightskong 拉你进讨论群

License

MIT

Related

More Repositories

1

iam

企业级的 Go 语言实战项目:认证和授权系统(带配套课程)
Go
3,712
star
2

geekbang-go

极客时间 《Go 语言项目开发实战》课程补充教程。
Go
468
star
3

awesome-books

📚 集合各类精品 IT 技术书籍,方便大家进行学习,也会推荐一些书,定期更新,长期维护!
379
star
4

goserver

教你快速开发一个企业级的Go后端服务(教程 + 代码;Go入门项目)
Go
124
star
5

gopractise-demo

Go语言企业级项目开发实战一书Demo
Go
104
star
6

errors

基于github.com/pkg/errors包,增加对error code的支持,完全兼容github.com/pkg/errors
Go
103
star
7

gocollect

Go项目Demo功能需求收集(会开源一个Demo涵盖所有功能展示)
77
star
8

superproj

一个包罗万象的 Go 项目开发脚手架
39
star
9

sample-code

适配于 `github.com/marmotedu/errors` 错误包的错误码实现
Go
36
star
10

marmotedu-sdk-go

A client-go like go sdk used by marmotedu
Go
35
star
11

addlicense

A program which ensures source code files have copyright license headers by scanning directory patterns recursively
Go
34
star
12

medu-sdk-go

marmotedu 另一种sdk实现思路(仿照:tencentcloud-sdk-go、aws-sdk-go、ucloud-sdk-go、jdcloud-sdk-go等)
Go
20
star
13

log

log package based on `github.com/tkestack/tke/pkg/util/log`
Go
18
star
14

component-base

Scheme, typing, encoding, decoding, and conversion packages for IAM and IAM-like API objects.
Go
14
star
15

go-standards

iam项目,go目录规范
13
star
16

marmotVim

SpaceVim离线安装
Shell
12
star
17

template

一些模板,例如:Makefile、.gitignore、golangci.yaml、README.md等
Makefile
9
star
18

api

Schema of the API types that are served by the IAM API server.
Go
6
star
19

windows-efficiency-tools

windows效率工具
AutoHotkey
5
star
20

gitflow-demo

Git工作流示例项目
2
star
21

community

marmotedu community content
1
star
22

helloci

GitHub Actions Getting Start
Dockerfile
1
star
23

apimachinery

Scheme, typing, encoding, decoding, and conversion packages for IAM and IAM-like API objects
Go
1
star