Skip to content

Francescatai/microblog_GOgRPC

Repository files navigation

Microblog using Golang gin

一個練習用的Go blog project

Features

  • RESTful API
  • OpenAPI 3.0/Swagger 2.0 API Document
  • Clean Architecture
  • Standard Go Project Layout
  • Authentication (JWT)/Authorization Functions (Casbin)
  • HTTP, HTTPS, gRPC Server Implementation

Business Functions

  • User Management -- 用戶註冊 -- 用戶登入 -- 取得用戶列表 -- 取得用戶詳細資訊 -- 更新用戶資訊 -- 修改用戶密碼 -- 刪除用戶
  • Blog Management -- 新增blog -- 取得blog列表 -- 取得blog詳細資訊 -- 更新blog內容 -- 刪除blog -- 批量刪除blog

Go Packages Intro

Go Project Layout

Standard Go Project Layout

├─api
│  └─openapi
├─cmd
│  └─microblog        
├─configs
├─docs
│  └─devel
├─example
│  └─client
├─internal
│  ├─microblog        
│  │  ├─biz
│  │  │  ├─post       
│  │  │  └─user       
│  │  ├─controller    
│  │  │  └─v1
│  │  │      ├─post
│  │  │      └─user
│  │  └─store
│  └─pkg
│      ├─core
│      ├─err
│      ├─known
│      ├─log
│      ├─middleware
│      └─model
├─LICENSE
├─pkg
│  ├─api
│  │  └─microblog
│  │      └─v1
│  ├─auth
│  ├─db
│  ├─proto
│  │  └─microblog
│  │      └─v1
│  ├─token
│  ├─util
│  │  └─id
│  └─version
│      └─verflag
├─scripts
├─third_party
│  └─google
│      └─protobuf
└─_output
    ├─cert
    ├─log
    └─microblog

About

GO gRPC pratice

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published