プラコレの使用技術をざっくりご紹介!

目次

皆さんこんにちは。
最近割と健康志向(言動と行動が合わない)なエンジニアのタクシです。

本記事ではプラコレのシステムと使用技術についてご紹介!
考えてみれば今までこういうの書いたことないかも?
と思ったので、今日は技術的視点からプラコレを知っていただければと思います。
今回は主軸サービスの一つ、PLACOLE WEDDING(プラコレウェディング)の中身をちょこっと公開!

PLACOLE WEDDINGの裏側

PLACOLE WEDDING(以後プラコレ)がどのような構成で成り立っているのか、ざっくりとご紹介します。

最初にまとめておくと以下が使用されている技術です。

AWS(インフラ)
Ruby on Rails(バックエンド)
React(フロントエンド)

(実際はもっとありますが、本当に基本部分だけご紹介します。)

サーバー

プラコレではRuby on Railsを採用しています。
現状ではRailsメインで動いていますが、
大幅なパフォーマンス向上が必要になった場合、かつRails以外の選択肢がある場合には、アーキテクチャを一新!という可能性は今後十分にあります。
最近では社内でGoに興味がある人も出てきて、いろんな可能性があるな〜と今後を僕はムフムフと楽しみにしています。
プラコレ以外のサービスでもRuby on Railsを使用しているものは多いです。

インフラ

インフラはAWSを利用しています。
日々のアクセス数、リクエスト数を考えると、スケーラブルであることは大切です。その点AWSは非常に管理も比較的しやすく今まで助けてくれています。
また、エンジニアチームは少人数(インフラ担当も限られている)なので管理のしやすさは重要なファクターです。
非常にたくさんのサービスをAWSは提供しているので、
個人的にも色々といじって楽しんでいます。(会社のアカウントではないのでご安心を)
アプリケーション自体はEC2にのっけていますが、
他にもRDS、Redisなども利用しています。

フロントエンド

フロントエンドはERBなどのテンプレートでRails内で直接管理している部分もありますが、基本的にはほぼReactになっています。(入社した時にはすでにそうだった)
RailsのViewをReactに置き換えているという感じです。
ただ、これに関しても、今後は大幅に変わる可能性もあります。
やはり、機能を拡張していくと、開発の初期段階では予想しきれない部分は必ず出てきます。
特に今年は、若干ブラックボックス化していた部分を潰していこうと、全員で協力プレーの真っ最中です。

PLACOLE&DRESSY(アプリ)

プラコレはアプリでも使えます。
アプリ側はSwiftで開発しており、基本的にはパートナーのエンジニアの方にほとんどお願いしています。
バックエンドはWEBの方と同じく、Railsです。
webviewを採用しているので、WEB版と同じUI・機能となっています。
(ちなみにアプリ開発者も募集しています。。!)

まとめ

簡単ですが、以上がプラコレの「中」のお話でした。
決してこれが理想ではないし、満足しているわけではありません。
アーキテクチャや性能をすぐに変えるのことは難しいですが、確実により良いものになっていくように日々精進しています。

本当はもっと細かくお話ししたい部分はありますが、
今すべてをわかりやすく書き過ぎてしまうと
これから書くネタがなくなってしまうので、今回はこのぐらいにします。。
気になる方はぜひこちらから興味のあるポジションに応募してみてください!