GitHub Pages にて公開している Curriculum-Vitae のデータソースを管理する。
データソース管理には SQLite を使う。
データソースへのアクセス用に Web API エンドポイントを用意。
API定義は OpenAPI v3 に準拠。
Yamlは、これ (プレビュー用にdockerfile書こうと思ったけどIDEのプレビュー機能で十分だったので省略)。
swagger.ioのエディタ に貼ってもいい。
Oops. 未実装が目立つ・・・。
※ローカル実行は go (v1.19) インストール済みが前提。
cv-admin ディレクトリ直下で以下を叩く。
ローカルでAPIサーバー起動。
go run src/main.go server
ent.(ORM) で定義したテーブル定義を SQLite ファイルに反映する。
go run src/main.go migrate
APIサーバーにアクセスして取得したデータソースをJSON形式で指定先にエクスポートする。
これを使って cv リポジトリのフロントエンド機能がキャリアシートのWebページを表示する。
※APIサーバーが起動していることが前提。
go run src/main.go export --userid 【ユーザーIDを指定】 --dir 【出力先パスを指定】
APIサーバーにアクセスして取得したデータソースをExcel形式でエクスポートする。
※紙媒体ないしExcelファイルでの提出を求められた時用。
※APIサーバーが起動していることが前提。
go run src/main.go submission --userid 【ユーザーIDを指定】
※未コミットの「.private.ini
」ファイル(以下のような内容)をプロジェクトルート直下に置く。
password = xxxxxxxxxx
kana = ヤマダ タロウ
name = 山田 太郎
mail = hogehoge@example.com
educationalBackground = 20XX年3月 ○○大学□□学部 卒業
cityOfResidence = ○○県□□市
nearestStation = JR東日本 ○○駅
cvWeb = https://sky0621.github.io/cv/
cvAdmin = https://github.com/sky0621/cv-admin#submission
sample/skill_sheet.xlsx
・
・
・
Mac Book Air M2 2022
Sonoma 14.4.1
❯ go version
go version go1.22.0 darwin/arm64
$ go mod init github.com/sky0621/cv-admin
go: creating new go.mod: module github.com/sky0621/cv-admin
https://github.com/getkin/kin-openapi
https://github.com/deepmap/oapi-codegen
go install github.com/deepmap/oapi-codegen/cmd/oapi-codegen@latest
from entity model to db table
cd src/ent
go run -mod=mod entgo.io/ent/cmd/ent new User UserActivity UserQualification UserCareerGroup UserCareer UserCareerDescription UserCareerPeriod CareerTask CareerSkillGroup CareerSkill UserNote UserNoteItem SkillTag Skill
https://github.com/spf13/cobra
https://github.com/spf13/cobra-cli/blob/main/README.md
go install github.com/spf13/cobra-cli@latest
cobra-cli init
cd src
cobra-cli add server