Skip to content

Go(Gin)とAWS(S3)を想定し、MinIOを利用したファイルアップロード

Notifications You must be signed in to change notification settings

chalmeal/go-gin-file

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

go-gin-file

Golang + Gin + MiniO

はじめに

S3を想定したファイルダウンロード/アップロード実装です。MiniOを利用し、ローカル環境上でのストレージ利用を可能とします。

構成

├── main.go
├── docker-compose.yml
├── common
|    ├── aws.go
|    ├── db.go
|    ├── response.go
|    └── utils.go
├── config
|    ├── app.ini
|    └── config.go
├── app
|     ├── models
|     |     ├── files.go
|     |     └── users.go
|     └── api
|      ├── controllers.go 
|      ├── file_controllers.go 
|      └── user_controllers.go
└── routes
      └── api.go

ドキュメント

データ定義

テーブル名 概要
files ファイルテーブル。アップロードされたファイルの情報。
users ユーザーテーブル。サービスの利用者情報。

仕様

書名 概要
ファイル利用 ファイルアップロード/ダウンロードについて

セットアップ

DB

  • DBの環境は以下を想定します。
    • MySQL
    • GORM
  • create schemaのみ行う必要があります。DDL
  • app.iniに対してDB接続情報を定義してください。
  • テーブルはGORMが提供するAutoMigrateを利用します。
    • 各テーブルは初回API実行時に生成されます。
    • 本プロジェクトで定義されている詳細なデータ定義に関しては、各ドメインのdocを参照してください。

Docker

MinIOの利用にDockerを利用しています。Dockerの導入を行ってください。

アプリケーションスタート

アプリケーションのスタートはデバッガを推奨しています。

Run and DebugのRun go-echo-fileから実行してください。

About

Go(Gin)とAWS(S3)を想定し、MinIOを利用したファイルアップロード

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages