{"id":29137898,"url":"https://github.com/pianopia/rectropic","last_synced_at":"2025-06-30T13:03:16.693Z","repository":{"id":296654009,"uuid":"994017322","full_name":"pianopia/Rectropic","owner":"pianopia","description":null,"archived":false,"fork":false,"pushed_at":"2025-06-01T05:38:49.000Z","size":175,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-01T14:26:32.320Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pianopia.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-01T02:35:16.000Z","updated_at":"2025-06-01T05:38:52.000Z","dependencies_parsed_at":"2025-06-01T14:28:20.548Z","dependency_job_id":"bcd68431-6896-4ffd-b55b-1b1ce1dee693","html_url":"https://github.com/pianopia/Rectropic","commit_stats":null,"previous_names":["pianopia/rectropic"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/pianopia/Rectropic","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pianopia%2FRectropic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pianopia%2FRectropic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pianopia%2FRectropic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pianopia%2FRectropic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pianopia","download_url":"https://codeload.github.com/pianopia/Rectropic/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pianopia%2FRectropic/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262779902,"owners_count":23363056,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-30T13:03:15.945Z","updated_at":"2025-06-30T13:03:16.665Z","avatar_url":"https://github.com/pianopia.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Rectropic\n\nTikTokのような縦型でフリックできる画像や動画形式を、リスト化して友達に共有できるサービスです。\n\n## アプリケーション概要\n\nRectropicは、TikTokやYoutubeショートの動画をURLからリストに追加でき、友達からの反応をもらうことができるアプリです。また、自分で作成した画像や動画をリストに追加することもできます。リストは複数作ることができ、リストごとに招待する友達を追加・変更できます。\n\n### ユースケース\n\n- カップルがデート場所を共有する際に、候補リストを作成してロケーションの動画や画像を共有してお互いの良いと思った場所にいいねを押していく\n- 友達と遊ぶ場所候補リストを作成して、縦型ルーレットで次の行く場所を決める\n- 雑談の中で、自分が行って楽しかった場所をリスト化したものをQRコードで共有する\n\n## プロジェクト構成\n\n```\nRectropic/\n├── server/          # バックエンドAPI (Hono + Bun)\n├── native/          # ネイティブアプリ (React Native + Expo)\n└── README.md        # このファイル\n```\n\n## 技術スタック\n\n### バックエンド\n- **Runtime**: Bun\n- **Framework**: Hono\n- **Database**: PostgreSQL\n- **ORM**: Drizzle ORM\n- **Validation**: Zod\n- **Authentication**: JWT\n\n### ネイティブアプリ\n- **Framework**: React Native + Expo\n- **Navigation**: React Navigation\n- **State Management**: React Context\n- **HTTP Client**: Axios\n- **Storage**: Expo SecureStore\n\n## セットアップ\n\n### 1. リポジトリのクローン\n\n```bash\ngit clone \u003crepository-url\u003e\ncd Rectropic\n```\n\n### 2. バックエンドのセットアップ\n\n```bash\ncd server\nbun install\n\n# 環境変数の設定\ncp .env.example .env\n# .envファイルを編集してデータベース接続情報を設定\n\n# データベースマイグレーション\nbun run drizzle-kit generate:pg\nbun run drizzle-kit push:pg\n\n# サーバー起動\nbun run dev\n```\n\n### 3. ネイティブアプリのセットアップ\n\n```bash\ncd native\nnpm install\n\n# アプリ起動\nnpm run ios     # iOS\nnpm run android # Android\nnpm run web     # Web\n```\n\n## 機能一覧\n\n### 認証\n- Googleログイン\n- Appleログイン\n- JWT認証\n\n### リスト管理\n- リスト作成・編集・削除\n- メンバー招待・管理\n- 公開/非公開設定\n\n### コンテンツ管理\n- 画像・動画・URLの追加\n- TikTok/YouTubeショートのURL対応\n- 縦型スワイプ表示\n\n### リアクション\n- いいね・ラブ・ディスライク\n- リアクション統計\n\n### プレミアム機能\n- 無制限のリスト作成\n- 無制限のコンテンツ追加\n- 優先サポート\n\n## マネタイズ\n\n- 無料プランでは10個のリストとリスト内の項目も10個まで\n- 有料プランにすることで、無制限にリストとリスト内のコンテンツも増やせる\n\n## 開発状況\n\n- ✅ バックエンドAPI基盤\n- ✅ 認証システム\n- ✅ リスト管理機能\n- ✅ コンテンツ管理機能\n- ✅ ネイティブアプリ基盤\n- ✅ 基本画面実装\n- 🚧 実際のソーシャルログイン実装\n- 🚧 決済システム統合\n- 🚧 プッシュ通知\n- 🚧 QRコード共有機能\n\n## ライセンス\n\nMIT License","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpianopia%2Frectropic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpianopia%2Frectropic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpianopia%2Frectropic/lists"}