⚙️ システム構成

しっかり作っています

damaはKubernetes上で安定して動作します。端末を変えても、家族と一緒に使っても、みんなの画面がリアルタイムで同じようにそろいます。

アーキテクチャをひと目で

コンテナオーケストレーション(Kubernetes)の上で、役割ごとに分かれて動作します

iOSアプリ SwiftUI · 利用者
Android リリース未定
Kubernetesクラスター
アプリケーション

Web

紹介・ポリシーのウェブ(いまご覧のサイト)

Next.js · React

Backend

API・認証・リアルタイム同期を担う中心のサーバー

Kotlin · Spring WebFlux
データ

MySQL

冷蔵庫・品目・日記の元データ

リレーショナルDB

Redis

安全なログインの維持とサービスの保護

インメモリ

ElasticSearch

品目・日記をすばやく探す検索

検索エンジン
バックエンドが連携する外部サービス
ソーシャルログイン Google · Apple
AIビジョン 写真 → 品目の抽出

設計方針

役割ごとの分離

Web・サーバー・データ・検索が役割ごとに分かれているため、それぞれを独立して運用・改善できます。

リアルタイム同期

だれかがしまったり食べたりすると、みんなの画面にすぐ反映されます(サーバープッシュストリーム)。

無停止デプロイ

GitOpsで宣言的にデプロイ・ロールバックします。変更が安全に、追跡できる形で反映されます。

プライバシー優先

解析に使った写真はすぐに削除し、サーバーには保管しません。

データで改善します

勘ではなく、実際の利用データを見て次を決めます

行動分析

どの画面・機能がよく使われているかを匿名で計測し、何を磨き、何を作るかをデータで決めます。

リアルタイムダッシュボード

利用の流れ・滞在・再訪をリアルタイムのダッシュボードで見ながら、プロダクトを素早く改善します。