LaravelでWebサービスを作るときに参考になるオープンソースのコードまとめ

Laravelでサービスを作るときに、参考にできる良質なリポジトリがあると作りやすいです。

どういうテストの書き方やフロントの書き方が適切か、指標になるようなリポジトリがないか探したところ、きれいなコードが書かれているOSSがいくつかあったので共有したいと思います。

Monica

CRMツールのOSSです。

有料サービスとしても提供されています。

Laravelのコードはとてもきれいに書かれており、テストコードも充実しています。

Laravel Duskによるブラウザテストも書かれていますが、CypressによるE2Eテストもtests/cypressディレクトリ配下に充実しており参考になります。

Dockerfile, docker-compose.yml, Jenkinsfile, Vagrantfile, circleci関連ファイルなども含まれており、インフラ面でもかなり参考になりそうです。

https://github.com/monicahq/monica

Airflix

映画やテレビを家のローカルサーバーから配信して再生するサービスのOSSです。

Laravel 5.4 , Vue 2.1 と少し古いですが、Vuexを導入しており、Vuex関連のコードが充実していて参考になります。

https://github.com/wells/airflix

Laracom

ECサイトのOSSです。

ドキュメントやDEMOページなど充実しています。

Laravel 5.7 が使われています。

Vueはほとんど実装されていないようです。

Laravel Cashier が使われているので、同様のサービスを作る際には参考になりそうです。

※Laravel Cashierは、StripeまたはBraintreeによる定期課金サービスのインターフェイスを提供する公式ライブラリです。

https://github.com/Laracommerce/laracom

Koel

音楽ストリーミングサービスのOSSです。

Laravel 5.7 , Vue 2.5 が使われており、テストコードもきれいに書かれていてとても参考になります。

Vuex は使われていませんが、Vueのディレクトリ構造を見るとstoresが使われており、状態管理の勉強になりそうです。

Vueのディレクトリはcomponentsのほかに directives, libs, services, stubs, tests など複数あるので、フロントの開発でも参考になるでしょう。

githubのスター数も9800以上あります。

https://github.com/phanan/koel

その他

単純にMVCの構成を参考にするだけなら、RailsのOSSも参考になるかもしれません。

Mastdonのリポジトリは、フロントもReactで構成されていてかなりモダンです。

https://github.com/tootsuite/mastodon