Skip to content

s977043/digital-omikuji

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

645 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎍 2026 年 新春デジタルおみくじ

License Expo TypeScript

🚀 概要

2026 年の新春を祝う、スマートフォン特化型のデジタルおみくじアプリです。 Expo (React Native) をベースに、Docker を使用した統一開発環境と快適な DX(Developer Experience)を実現しています。

✨ 特徴 - Premium Experience

  • 📱 シェイク機能: 加速度センサーを活用し、スマホを振る直感的な操作感を実現
  • 🎨 リッチなアニメーション: Moti (Powered by Reanimated) による滑らかで美しい演出
  • 📳 触覚フィードバック: expo-haptics による心地よい振動演出
  • 📤 SNS シェア: おみくじ結果を画像付きで即座にシェア可能(react-native-view-shot使用)
  • 🔊 サウンド: シェイク時・結果表示時の効果音再生(ミュート切替対応)
  • 🐞 デバッグモード: 実機がなくても検証可能なシミュレーション機能を搭載

🛠 技術スタック

Category Technology
Framework Expo SDK 54 / Expo Router
Language TypeScript
Styling NativeWind v4 (Tailwind CSS)
Animation Moti / React Native Reanimated
Device API Expo Sensors / Expo Haptics / Expo AV
Testing Jest / React Native Testing Library

🐳 開発環境の起動 (Docker 推奨)

チーム開発において最も推奨される方法です。環境差異を吸収し、ワンコマンドで起動・終了が可能です。

1. 起動

docker compose up --build

(ポート 8081 で Metro Bundler が起動します)

2. 実機確認

方法 A: QR コード (推奨) ターミナルに表示される QR コードを「Expo Go」アプリ(iOS/Android)でスキャンしてください。 ※ PC とスマホは同一 Wi-Fi ネットワークに接続する必要があります。

方法 B: トンネル接続 Wi-Fi 環境の制約や WSL2 で接続できない場合は、以下のコマンドを別ターミナルで実行してください。

docker compose exec app npx expo start --tunnel

💻 ローカル開発環境の起動 (Non-Docker)

Node.js 環境が整っている場合、ローカルで直接実行することも可能です。

前提条件

  • Node.js v20 以上 (必須)
  • pnpm

手順

  1. 依存関係のインストール

    pnpm install
  2. 開発サーバーの起動

    pnpm start
    # または
    pnpm expo start

🧪 テスト

品質担保のため、主要ロジックとコンポーネントはテストされています。

# ローカル実行
pnpm test

# Docker実行
docker compose exec app pnpm test

📦 ビルド (EAS Build)

Expo Application Services (EAS) を利用してアプリをビルドします。

# EAS CLIログイン
npx eas login

# Android 開発用ビルド
npx eas build --profile development --platform android

# Android プレビュー(APK)ビルド
npx eas build --profile preview --platform android

# Android 本番(AAB)ビルド
npx eas build --profile production --platform android

variant ごとの Android package 名(app.config.tsAPP_VARIANT で切替):

variant package
development com.s977043.digitalomikuji.dev
preview com.s977043.digitalomikuji.preview
production com.s977043.digitalomikuji

🚀 Android 公開準備(Google Play)

現在のマイルストーンは Android版の Google Play 申請可能化。Goal・Definition of Done・チェックリスト・残ブロッカーは docs/goals/android-release-readiness.md を SSOT とする。

公開前の確認コマンド:

pnpm exec tsc --noEmit
pnpm lint
pnpm test
npx expo-doctor
npx eas build --profile production --platform android

📂 ディレクトリ構成

  • /app: アプリのページルーティング (Expo Router)
  • /components: 再利用可能な UI コンポーネント
  • /data: おみくじデータ定義などの固定データ
  • /hooks: 抽選ロジックなどのカスタムフック
  • /utils: サウンド管理などのユーティリティ
  • /assets: 画像・静的リソース

📝 ドキュメント

UI まわりの判断に入るときは、まず DESIGN.md から読み始めてください。

🤝 コントリビューション

  1. Fork this repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📄 ライセンス

MIT License


🎍 2026 年も素晴らしい一年になりますように! Happy New Year! 🎍

About

Resources

License

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

1 watching

Forks

Packages

 
 
 

Contributors