株式会社Ceremony

技術について

現在の状況

現在は開発に参加しているメンバーは 4 名で、うち 1 名がフルタイム, 3 名が業務委託となります。

現在の構成

項目備考
Chakra UIコンポーネントライブラリに Chakra UI を使用しています
Cloud Firestoreデータベースに Firestore を使用しています
Cloud Storageストレージに Cloud Storage を使用しています
CypressE2E テストに Cypress を使用しています
Firebase Auth認証基盤に Firebase Auth を使用しています
GitHubコードペース管理に GitHub を使用しています
GitHub ActionsCI に GitHub Actions を使用しています
Next.jsフレームワークに Next.js を使用しています
Reactコンポーネントに React JSX を使用しています
Sentryエラーレポートに Sentry を使用しています
Storybookコンポーネントライブラリに Storybook を使用しています
TypeScriptすべてのコードベースに TypeScript を使用しています
Vercelホスティングサーバに Vercel を使用しています

現在は、Web のみの提供となっており、ネイティヴアプリケーションは提供していません。

Overview

  • リポジトリはすべて 1 つの大きな monorepo で管理しています
  • 型定義や品質担保のためのシステムは全コードベースで共有されています
  • リリースフローは原則的に Vercel 及び GitHub Actions の CI によって行われます
  • テストはすべて書かれているわけではなく、それぞれ少しずつ進めている最中です

Web (メインアプリケーション)

  • React / Next.js / TypeScript で書かれています
  • グローバルストアは基本的に Auth / Error の 2 つしか存在せず、各コンポーネントから呼ぶカスタム Hook を持つ構成です
  • E2E テストを Cypress で実行しています
  • Unit / Snapshot テストを今後用途に合わせて書いていく予定です

API Server (Next.js API Routes)

  • TypeScript で書かれています
  • Firestore をデータベースとして使用し、API Server として Next.js API Routes を使用しています
  • E2E テストを Cypress で実行しています

その他、多くのパッケージが存在しますが、省略させていただきます。

開発の進め方

現状、開発において決まった進め方があるわけではありません。入社をご検討いただける方には開発の進め方等のアドバイスも頂けると嬉しいです。 コード規約等は Linter, Formatter で厳しく縛っており、基本的には悩むこと無く進めていくことが可能です。 ドキュメント等、開発周りにおいてはまだまだ未整備の部分が多く、懸案事項です。