簡単に言えば、SuiminNisshiのGo言語版です。
このREADME内の各種コマンドは、devcontainer環境下で実行した場合です。
まだ、ページは ハリボテの見た目 しか作成していません。 具体的な実装は、未実装なので注意してください。
| handler | アドレス | ページ名 | 役割 | モック実装 | 処理実装 |
|---|---|---|---|---|---|
| N/A | / | トップページ | x | x | |
| account_deletion.go | /account/delete | アカウント削除確認ページ | o | x | |
| dashboard.go | /dashboard | ダッシュボード | o | x | |
| auth.go | /login | ログインページ | o | x | |
| auth.go | /logout | ログアウトページ | o | x | |
| error.go | /{存在しないページ} | 404ページ | o | x | |
| error.go | 未設定 | 403ページ | o | x | |
| error.go | 未設定 | 405ページ | o | x | |
| error.go | 未設定 | 500ページ | o | x | |
| password_reset.go | /forgot-password | パスワード忘れページ | o | x | |
| password_reset.go | /reset-password/{token} | パスワード再設定ページ | o | x | |
| privacy.go | /privacy | プライバシーポリシーページ | o | x | |
| profile.go | /profile | プロフィールページ | o | x | |
| register.go | /register | 新規アカウント登録ページ | x | x | |
| settings.go | /settings | 設定ページ | o | x | |
| settings.go | /settings/export/csv | 設定ページ(CSV出力) | o | x | |
| settings.go | /settings/export/json | 設定ページ(JSON出力) | o | x | |
| settings.go | /settings/account/delete | 設定ページ(アカウント削除) | o | x | |
| sleep_records.go | /sleep-records/ | 睡眠記録一覧ページ | x | x | |
| sleep_records.go | /sleep-records/new | 睡眠記録入力ページ | x | x | |
| sleep_records.go | /sleep-records/{id} | 睡眠記録詳細ページ | x | x | |
| sleep_records.go | /sleep-records/{id}/edit | 睡眠記録編集ページ | x | x | |
| sleep_records.go | /api/sleep-records/ | (API)睡眠記録一覧 | x | x | |
| statistics.go | /statistics | 統計情報ページ | x | x | |
| statistics.go | /statistics/data | 統計情報ページ | x | x | |
| terms.go | /terms | 利用規約ページ | x | x |
パスルートの設定は、internal/handlerにある各ハンドラー内で定義しているRegisterRoutes関数で設定しています。
makeコマンドで実行している詳細については、Makefileファイルを参照してください。
make runホストの起動中に、Ctrl+Cで終了させることができます。
make mod.install.adminltemake tools.getmake tools.docmake lint- image: debian:bookworm-slim
- OS: Debian bookworm
- 開発言語: Go (Ver.1.22.1)
- 環境変数管理: direnv
- テンプレート: AdminLTE
- image: mariadb:latest
- DB: MariaDB
- 設定
- DB_HOST = db
- USER_DB = suiminnisshi
- DB_PASSWORD = suiminnisshi_password
- DB_NAME = suiminnisshi
- 8080: アプリケーションポート
- 3306: MariaDBポート
makeコマンドで、ドキュメントファイルの自動生成が可能です。 生成したファイルは、doc/godocディレクトリに保存されています。
make tools.doc- 生成ファイル
- スクリプト
- テンプレートファイル
- ルートフォルダーに
.envrcファイルが存在しない場合、devcontainerビルド時にテンプレートファイルから自動生成されます。- テンプレートファイルは、 .devcontainer/.envrc.template です。
- すでに、ルートフォルダーに
.envrcファイルが存在する場合、自動生成されません。
.envrcファイルの読み込みを有効にしてください。
direnv allow-
web/template/pagesディレクトリに作成したいページ名のhtmlファイルを作成する。 -
ページは基本レイアウトを継承して必要なコンテンツブロックを実装します。
{{define "content"}} <!-- ページコンテンツをここに記述 --> {{end}} -
AdminLTEを使う場合には、
- 必要なCSSファイルをstyleブロックで追加します。
- 必要なJavaScriptファイルをscriptブロックで追加します。
-
main.goにハンドラーの初期化と登録(必要な場合にのみ実施)
- 必要な場合には、main.goにハンドラーを記載します。
- 自動読み込みで良い場合には、不要です。
// ex. 設定例 // 設定ハンドラーの初期化と登録 settingsHandler := handler.NewSettingsHandler(tm) settingsHandler.RegisterRoutes(router)