📖

アルダグラムの技術スタックについて

こんにちは!

株式会社アルダグラムの田中です。

今回はアルダグラムで採用している技術スタックについて、ご紹介いたします。

(2022/02 時点)

技術スタックについて

サーバーサイド

APIサーバーはリリース当初からRuby on Railsを採用しています。

開発当初は資金もリソースも限られている中で、開発速度を限りなくあげる必要がありました。

その中で型安全にAPIスキーマを構築でき、フロントエンドから自由にリソースを取得できるGraphQLを採用することで、一定の開発速度は担保できたのではと考えています。

また最近ではAPIサーバーの一部にNestJSを導入しました。

フロントエンドでTypeScriptを使用しているため、その技術が活かせるというのと、将来的にマイクロサービス化を行った時にBFFとしてNest.jsを使いたいという想いがあったためです。

フロントエンド

KANNAの本体ではNext.js / TypeScriptを採用しています。

型安全に開発を行うことで、開発効率・生産性を高めています。

またKANNAのLPなどには、Gatsby.jsを使用しています。CMSにはMicroCMSを用いていて、JAM Stackの構成で開発運用を行っています。

フロントエンドのテストは現在絶賛整備中です。

どのツール・技術を用いればアルダグラムにとって最適かを検討しています。

アプリ

React Nativeを用いて、iOS / Android の両OSのアプリを開発しています。

フロントエンドでもReactを採用しているため、共通のビジネスロジックはプライベートNPMパッケージ化して、流用しています。

しかし、KANNAで実現したいことの一部がReact Nativeでは実現できないため、アプリのネイティブ化を検討しています。

インフラストラクチャー

メインとしてはAWS(ECS / AWS Fargate)を使用しています。

ワークフローに関してはCloud Formationを用いてInfrastructure as Codeの環境を整備しています。

GCPはBigQueryを少し使っているくらいです。

FirebaseはKANNAの認証機能やリアルタイムチャット機能で使用しています。

また検索システムにはElastic Cloudを採用しています。

その他

コミュニケーションツールはSlack、ナレッジ共有にはNotionを使用しています。

またアルダグラムでは、アジャイル / スクラムの形式で開発を進めています。

そのためプロジェクト管理にはJIRAを使用しています。

JIRAのチケットは、デイリースクラムで進捗状況を確認したり、週に1回のスプリントミーティングでスプリントレビューやリファインメント・プランニングで作成・見積もりを行っています。

最後に

今回はアルダグラムの採用技術について紹介しました。

この半年でも新しい技術スタックを積極的に採用しています。

また技術選定に関してはエンジニア皆で考えています。

今後も技術スタックの変更や追加があれば随時、公開していきますので、よかったらフォローお願いします!

アルダグラム Tech Blog

Discussion