株式会社SCOUTER @kotamat
だけkotamats
.
├── src
│ ├── main.ts # エントリーポイント
│ ├── dist # 呼び出し元から呼び出すjsファイル
│ │ └── output.js
│ ├── components # コンポネント集
│ │ └── a.vue
│ └── pages # ページ集
│ └── index.vue
└── webpack.config.js
import PackageIndex from "./pages/index.vue";
import { PluginObject } from "vue";
interface OptionI {
masterData: object
httpClient: object
}
export const Package = {
install(Vue: PluginObject<OptionI>, opts: OptionI) {
// Register setting values
MasterData.set(opts.masterData)
Ajax.use(opts.httpClient)
// Register components
Vue.component('package-index', PackageIndex);
},
}
エージェント
転職者
求人企業
エージェント
転職者
求人企業
エージェントを
免許無しで誰でも
できるように
エージェント
転職者
求人企業
エージェント向け
業務管理 + 求人DB
エージェント
転職者
求人企業
面接・履歴書では
わからない転職者の
リファレンスチェック
採用企業
管理者
エージェント
転職者
同ドメインの処理の編集が頻出するため
その領域は責務を凝縮する必要がある
採用企業
管理者
求人
選考
TODO
エージェント
.
├── app
├── artisan
├── bootstrap
├── composer.json
├── composer.lock
├── config
├── database
├── nohup.out
├── package.json
├── phpunit.xml
├── public
├── readme.md
├── resources
├── routes
├── server.php
├── storage
├── tests
├── vendor
└── webpack.mix.js
フロントもサーバーサイドもすべて同じリポジトリに入っている。
採用企業
管理者
エージェント
転職者
.
├── app
...
├── composer.json
├── composer.lock
├── package.json
├── node_modules
│ ├── @babel
│ ├── @scouterinc
│ │ ├── job
│ │ ├── selection
│ │ └── stylebook
├── vendor
│ ├── scouterinc
...
各アプリケーションで重複するものは
パッケージとして外出し
A
B
C
D
A
B
C
D.1
D.2
Aをビルドする際にB,Cそれぞれは別のバージョンのDを参照してしまう。
repo/
package.json
packages/
package-1/
package.json
package-2/
package.json
ルートディレクトリには全体のパッケージを、
それぞれのパッケージ内にもそれぞれnpmやcomposerの依存解決ファイルを入れる
チームA
チームB
npmパッケージのモノリポに適したもの
全パッケージの一斉publish、コミット、pushなどが簡単にできる。
既存のgit履歴をそのまま使える
Composerベースのモノリポ化ツール。
親リポジトリのcomposer.jsonは自動生成されるため、コミットしない。
こちらも一斉リリースなどができる。
Laravelで使用されているコード分割ツール
Golang製
CLIベースでコードをディレクトリごと分割し、ReadOnlyなリポジトリにタグ付きでpushしてくれる。
OSSでパッケージごとにpuublishしたいときに使える