Skip to content

用Gin框架實作API之CRUD,可以管理和分享Chat GPT匯出的連結

Notifications You must be signed in to change notification settings

YuanData/SharedBoard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

61de605 · Sep 5, 2023

History

25 Commits
Aug 27, 2023
Sep 5, 2023
Aug 27, 2023
Sep 5, 2023
Aug 29, 2023
Aug 27, 2023
Aug 31, 2023
Aug 29, 2023
Sep 2, 2023
Aug 29, 2023
Aug 29, 2023
Aug 27, 2023
Aug 27, 2023

Repository files navigation

專案介紹

本專案主要使用Gin框架實作API之CRUD,並將資料存在以docker容器管理之PostgreSQL。

主要特色

自動化單元測試: 透過GitHub Actions在每次push時自動執行backend的單元測試,這可以確保每次的更動都不會對已經存在的功能產生不期望

使用技術

  1. Gin-gonic: Gin是用Go語言編寫的web框架,它是高效且靈活的。
  2. sqlc: 是用Go實作之SQL Compiler,可以使用SQL語句來生成類型安全的Go語言程式碼的工具。
  3. postgres: 使用postgres作為資料庫系統,它是功能強大且穩定的開源資料庫系統。
  4. go migrate: 是用Go語言撰寫的資料庫遷移工具,可以方便的進行資料庫的版本控制。
  5. go mockgen: 是用於生成Go語言的mock物件的工具,可以方便的進行單元測試。
  6. go test: Go語言的內建測試工具。

DevOps使用技術

  1. Docker: 利用容器技術,可以方便的進行應用程式的擴展和部署,這裡使用docker-compose up命令來完成整個架構的部署。
  2. GitHub Actions: 這是一個CI/CD(持續整合/持續部署)工具,可以自動執行單元測試,並且自動部署到GitHub Pages site。

架構圖

Loading
graph LR

  %% Backend Technologies
  B1[fa:fa-database sqlc]
  B2[fa:fa-database postgres]
  B3[fa:fa-exchange go migrate]
  B4[fa:fa-cogs go mockgen]
  B5[fa:fa-check go test]


  %% DevOps Technologies
  D1[fa:fa-ship Docker]
  D2[fa:fa-file GitHub Actions]

  %% Server Relationship
  S[fa:fa-server Gin API Server]

  %% Backend Relations
  S --- B1
  S --- B2
  S --- B3
  S --- B4
  S --- B5

  %% DevOps Relations
  S --- D1
  D1 --- D2

About

用Gin框架實作API之CRUD,可以管理和分享Chat GPT匯出的連結

Resources

Stars

Watchers

Forks