アルダグラムの技術スタックについて
こんにちは!
株式会社アルダグラムの田中です。
今回はアルダグラムで採用している技術スタックについて、ご紹介いたします。
(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です。 世界中のノンデスクワーク業界における現場の生産性アップを実現する現場DXサービス「KANNA」を開発しています。 採用情報はこちら: herp.careers/v1/aldagram0508/
Discussion