{"id":23948489,"url":"https://github.com/b13o/portfolio-showcase","last_synced_at":"2026-04-11T01:19:06.374Z","repository":{"id":271091116,"uuid":"909615347","full_name":"b13o/portfolio-showcase","owner":"b13o","description":"👋 GitHub repository curation site. with reaction function!","archived":false,"fork":false,"pushed_at":"2025-03-24T18:57:21.000Z","size":130,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-17T21:50:54.936Z","etag":null,"topics":["cloudflare","github-api","markdown","mvp","nextjs","react","real-world","server-actions","shadcn-ui","supabase","typescript"],"latest_commit_sha":null,"homepage":"https://b13o.github.io/portfolio-showcase/","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/b13o.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":"2024-12-29T09:02:56.000Z","updated_at":"2025-03-24T19:00:29.000Z","dependencies_parsed_at":"2025-06-17T21:41:25.354Z","dependency_job_id":"c89b1e5c-79af-4d13-93fe-c6f76142e085","html_url":"https://github.com/b13o/portfolio-showcase","commit_stats":null,"previous_names":["b13o/portfolio-showcase"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/b13o/portfolio-showcase","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/b13o%2Fportfolio-showcase","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/b13o%2Fportfolio-showcase/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/b13o%2Fportfolio-showcase/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/b13o%2Fportfolio-showcase/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/b13o","download_url":"https://codeload.github.com/b13o/portfolio-showcase/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/b13o%2Fportfolio-showcase/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279000706,"owners_count":26082921,"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","status":"online","status_checked_at":"2025-10-09T02:00:07.460Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["cloudflare","github-api","markdown","mvp","nextjs","react","real-world","server-actions","shadcn-ui","supabase","typescript"],"created_at":"2025-01-06T10:16:12.447Z","updated_at":"2025-10-09T04:39:48.446Z","avatar_url":"https://github.com/b13o.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg width=\"1440\" alt=\"スクリーンショット 2024-10-25 19 08 15\" src=\"https://github.com/user-attachments/assets/fa6fcf27-63b6-4a08-a9b6-d7d16a669593\" /\u003e\n\n# ショーケースアプリ\n\n## 概要\n\nこのプロジェクトでは、ショーケースアプリを構築します。\n\n特定のトピックを紹介するサイトから、個人のポートフォリオまで、\n幅広い活動ができるような、GitHub リポジトリのまとめサイトです！\n\n## 学習目標\n\nNext.js + GitHub API + Supabase など、複数の技術を組み合わせた、実践的な MVP を構築します！\n\n### 推奨技術\n\nこのプロジェクトの難易度と趣旨を踏まえて、以下の使用をお勧めします。\n\n- Next.js v15/ App Router\n- TypeScript による型チェック\n- Tailwind CSS を用いたスタイリング\n- shadcn/ui を用いた UI の実装\n- GitHub API の活用\n- Supabase を使用したデータベース連携\n- React 19/ Actions によるデータの更新\n- Cloudflare Pages へのデプロイ\n\n---\n\n## 🎯 お題\n\n- 「ユーザーストーリー」を全て満たすアプリを構築してください。\n- 必要に応じて、スクリーンショットやデモサイトの URL を参照してください。\n- スタイルは、あなた自身で独自にカスタマイズすることが可能です。\n\n### 必須機能\n\n1. **コンテンツ一覧を表示**:\n   - まとめサイトのコンテンツ（リポジトリ）を一覧で表示\n   - トピックごとに、フィルタリングできる機能\n2. **コンテンツ詳細を表示**:\n   - コンテンツの詳細情報（README.md）を表示\n   - GitHub の、リポジトリとデモサイトへリンクを貼る\n   - ログイン不要の、コンテンツに対するリアクション機能\n   - GitHub リポジトリの URL 構造に合わせて、「`Domain.com/オーナー名/リポジトリ名`」という URL 構成にする\n\n## ユーザーストーリー\n\n- **TOP ページ：**\n  - [ ] ユーザーがサイトにアクセスすると、コンテンツ一覧を閲覧できる\n  - [ ] トピックのボタンを押すと、一致するコンテンツのみが表示される\n  - [ ] 個別のコンテンツをクリックして、詳細ページに遷移できる\n- **コンテンツ詳細ページ**:\n  - [ ] ユーザーは各コンテンツの詳細情報（README.md）を確認できる\n  - [ ] GitHub と同じ「`Domain.com/オーナー名/リポジトリ名`」という URL の構造になっている\n  - [ ] 外部リンクへのボタンをクリックして、GItHub のリポジトリ・デモサイトに遷移できる\n  - [ ] コンテンツに対する、リアクションの総数を確認することができる\n  - [ ] 誰でもログインせずに、コンテンツに対して絵文字でリアクションすることができる\n  - [ ] 誰でもログインせずに、コンテンツに対するリアクションを削除することができる\n  - [ ] 「いいね」数の複数インクリメントなどの不正操作は、許容する方針で、済ませること\n- **その他：**\n  - [ ] アプリケーションがデプロイされており、誰でもアクセス可能である。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fb13o%2Fportfolio-showcase","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fb13o%2Fportfolio-showcase","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fb13o%2Fportfolio-showcase/lists"}