2017-10-14 9 views
1

私はGolang、mongoDB、androidクライアントで書かれたAPIの3つの部分に分かれているプロジェクトを書いています。上記のように、私はディレクティブを作成することが良いと思った。しかし、それはgolangのgithubのプロジェクトのための良い練習がないとき:この構造がどのように見えるべきかGithubプロジェクトの構造

MyProject 
├── API 
│   ├── scripts 
│   └── src 
│      └── some_go_file.go 
├── DB 
│   ├── db_scripts 
│   └── data 
└── AndroidDirectory 

任意のアイデア:このような構造のために?別のリポジトリを使うべきですか、あるいは別のブランチに各コンポーネントを残すべきでしょうか?

+1

この構造で簡単に構築して展開できると仮定すると、単一のリポジトリとブランチを使用しない理由はありません。 –

+0

APIとAndroidクライアントに別のレポを使用すると、より簡単に生き生きとした生活ができます。バージョン管理とリリースについて考えてみましょう。 APIがDBによってサポートされている場合は、APIリポジトリにそのAPIを追加します。 – reto

答えて

2

githubのGoプロジェクトには特別なレイアウトは課されていませんが、いくつかのファイルがトップレベルにあるメインパッケージを持つことでgettableにするのが良いでしょう。ここの手順を参照してくださいが、あなたが上にスクロールすると、アプリではなく、ワークスペースについて話すことから始まります。パッケージパス を選択(私たちはgithub.com/user/helloを使用します)と、ワークスペース内で、対応するパッケージ ディレクトリを作成するには、最初の、簡単なプログラムをコンパイルして実行するには

https://golang.org/doc/code.html#Command

$ mkdir $ GOPATH/src/github.com/user/hello次に、次のGoコードを含む hello.goという名前のファイルをそのディレクトリ内に作成します。

これは私が変更する唯一のビットです。トップレベルに少なくとも1つのファイルを置くと、あなたはどんな構造であれ、他のパッケージをその下に置くことができます。ほとんどのパッケージを望みます)。

Androidプロジェクトに別のレポを使用します。これは、同じコードを使用する可能性が低いためです(おそらく、ネットワーク経由でAPIを使用し、mongodbを直接使用することはありません)。

これは、あなたのapiプロジェクトとmongodbを残します。とにかくdbデータとスクリプトはおそらくapiサーバーに関連しており、進化していくので、あなたのプロジェクトのサブディレクトリとして示しています。