Go で MVC/CRUD な web アプリケーションを作る
お勉強プロジェクトです。Go で (とても簡単な) webアプリケーションを作ります。
MVCフレームワークに則ったものにします。CRUD処理ができるようにします。
勉強したいこと
- Golang
- Go で CRUD (DB 連携・処理)
- Go で開発する時のパッケージング
- MVC (アプリケーションアーキテクチャ)
作るアプリケーション
- 『ユーザ』というモデルを持つ
- ユーザモデルの操作ができるコントローラーを持つ
- ユーザモデルのコントローラーは『登録 (Create)、表示 (Read)、修正(Update)、削除 (Delete)』ができる
- (コントローラーと、ルーティンは分離したい)
(余裕があれば API 化とかしたい。
あと、テストとかも勉強したいので組み込みたい。)
インストールしたライブラリ
go get github.com/wcl48/valval # UserModel のバリデーションのため
go get github.com/jinzhu/gorm # Go ORM ライブラリ (DB とのやりとり用)
go get github.com/mattn/go-sqlite3 # Go で DB とやり取りする時のドライバ
注意: gorm を用いて DB に接続する際、必ずドライバも import する ようにする。
import (
"github.com/jinzhu/gorm"
_ "github.com/mattn/go-sqlite3"
)
func main() {
db, err := gorm.Open("DBMS", "Connection")
if err != nil {
...
}
実行
main
go run main.go
DB migration
go run db/migrate.go
Links