Skip to content

s977043/digital-omikuji

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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 52 (Expo Router v4)
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

# iOS 本番用ビルド
npx eas build --profile production --platform ios

📂 ディレクトリ構成

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

📝 ドキュメント

🤝 コントリビューション

  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

Stars

Watchers

Forks

Packages

No packages published

Contributors 8