MCPcopy Index your code
hub / github.com/CocaineCong/micro-todoList

github.com/CocaineCong/micro-todoList @v1.0.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.0.0 ↗ · + Follow
223 symbols 507 edges 42 files 42 documented · 19%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

micro-todoList

Go-Micro V4 + RabbitMQ 构造简单备忘录

将原项目的micro的v2升到v4,服务发现使用etcd,支持熔断机制,token验证,网关和各模块之间的rpc通信等

项目的详细博客地址

用户模块

备忘录模块

项目的视频介绍地址

Go-Micro+RabbitMQ 构建简单备忘录

项目的主要功能介绍

  • 用户注册登录 ( jwt-go鉴权 )
  • 新增/删除/修改/查询 备忘录

项目主要依赖:

Golang V1.18

  • Gin
  • Gorm
  • mysql
  • go-micro
  • protobuf
  • grpc
  • amqp
  • ini
  • hystrix
  • jwt-go
  • crypto

项目结构

1.micro_todolist 项目总体

micro-todolist/
├── app                   // 各个微服务
│   ├── gateway           // 网关
│   ├── task              // 任务模块微服务
│   └── user              // 用户模块微服务
├── bin                   // 编译后的二进制文件模块
├── config                // 配置文件
├── consts                // 定义的常量
├── doc                   // 接口文档
├── idl                   // protoc文件
│   └── pb                // 放置生成的pb文件
├── logs                  // 放置打印日志模块
├── pkg                   // 各种包
│   ├── ctl               // 用户操作
│   ├── e                 // 统一错误状态码
│   ├── logger            // 日志
│   └── util              // 各种工具、JWT等等..
└── types                 // 定义各种结构体

2.gateway 网关部分

gateway/
├── cmd                   // 启动入口
├── http                  // HTTP请求头
├── handler               // 视图层
├── logs                  // 放置打印日志模块
├── middleware            // 中间件
├── router                // http 路由模块
├── rpc                   // rpc 调用
└── wrappers              // 熔断

3.user && task 用户与任务模块

task/
├── cmd                   // 启动入口
├── service               // 业务服务
├── repository            // 持久层
│    ├── db               // 视图层
│    │    ├── dao         // 对数据库进行操作
│    │    └── model       // 定义数据库的模型
│    └── mq               // 放置 mq
├── script                // 监听 mq 的脚本
└── service               // 服务

config/config.ini文件,直接将 config.ini.example-->config.ini 就可以了 conf/config.ini 文件

[service]
AppMode = debug
HttpPort = :4000

[mysql]
Db = mysql
DbHost = 127.0.0.1
DbPort = 3306
DbUser = root
DbPassWord = root
DbName = micro_todolist
Charset = utf8mb4

[rabbitmq]
RabbitMQ = amqp
RabbitMQUser = guest
RabbitMQPassWord = guest
RabbitMQHost = localhost
RabbitMQPort = 5672

[etcd]
EtcdHost = localhost
EtcdPort = 2379

[server]
UserServiceAddress = 127.0.0.1:8082
TaskServiceAddress = 127.0.0.1:8083

[redis]
RedisHost = localhost
RedisPort = 2379
RedisUsername = micro_todolist
RedisPassword = 

运行简要说明

  1. 启动环境
make env-up
  1. 运行服务
make run

注意: 1. 保证rabbitMQ开启状态 2. 保证etcd开启状态 3. 依次执行各模块下的main.go文件

如果出错一定要注意打开etcd的keeper查看服务是否注册到etcd中!!

导入接口文档

打开postman,点击导入

postman导入

选择导入文件 选择导入接口文件

导入

效果

postman

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Shape

Method 115
Function 74
Struct 28
Interface 6

Languages

Go100%

Modules by API surface

idl/pb/taskService.pb.go51 symbols
idl/pb/userService.pb.go32 symbols
idl/pb/taskService.pb.micro.go29 symbols
idl/pb/userService.pb.micro.go17 symbols
app/task/service/task.go9 symbols
app/task/repository/db/dao/task.go7 symbols
config/conf.go6 symbols
app/user/service/user.go5 symbols
app/gateway/wrappers/task.go5 symbols
app/gateway/rpc/task.go5 symbols
app/gateway/http/task.go5 symbols
pkg/ctl/user_info.go4 symbols

Datastores touched

(mysql)Database · 1 repos

For agents

$ claude mcp add micro-todoList \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page