この構成は、プロジェクトを迅速にスタートするために最適化されています。
シンプルで理解しやすく、初期の高速開発に適しています。
.
├── README.md // プロジェクトの基本情報、セットアップ手順、使用方法などを記載
├── api // API関連の主要なコードやツールを格納するディレクトリ
│ ├── handlers // Webリクエストを処理するためのディレクトリ
│ │ ├── auth.go // 認証処理(ユーザー登録、ログイン、ログアウトなど)
│ │ ├── post.go // 投稿に関する処理
│ │ ├── user.go // ユーザー情報に関する処理
│ │ ├── product.go // 商品情報に関する処理
│ │ └── purchase.go // 購入情報に関する処理
│ ├── middlewares // リクエストやレスポンスの前後で実行される処理を格納するディレクトリ
│ │ └── isAuthenticated.go // 認証状態の確認と処理を行うミドルウェア
│ └── responses // APIからの応答を生成するヘルパー関数を格納するディレクトリ
│ ├── error.go // エラー応答の生成を行うファイル
│ └── success.go // 成功応答の生成を行うファイル
├── go.mod // プロジェクトの依存関係やモジュール情報を定義するファイル
├── go.sum // 依存関係の確認用のチェックサムデータを含むファイル
├── main.go // アプリケーションの開始点。サーバーの設定や初期化を含む
├── models // データベースのテーブルと一致するGoの構造体を格納するディレクトリ
│ └── models.go // データ構造の定義を行うファイル
├── router.go // アプリケーションのルーティング設定を行うファイル
├── stores // データベースとのやり取りを行う関数を格納するディレクトリ
│ ├── auth_store.go // ユーザーの認証や登録に関するデータベース処理
│ ├── post_store.go // 投稿に関するデータベース処理
│ ├── user_store.go // ユーザー情報に関するデータベース処理
│ ├── product_store.go // 商品情報に関するデータベース処理
│ └── purchase_store.go // 購入情報に関するデータベース処理
├── config.go // 環境変数を読み込み、データベース接続文字列を生成するファイル
└── database.go // データベース接続を初期化するファイル