{"id":23155638,"url":"https://github.com/kazuph/remix-ginnan-stack","last_synced_at":"2025-04-04T17:25:17.233Z","repository":{"id":266106532,"uuid":"897371982","full_name":"kazuph/remix-ginnan-stack","owner":"kazuph","description":"🚀 Remix + Hono template for Cloudflare Pages with Shadcn UI, Drizzle ORM and Supabase","archived":false,"fork":false,"pushed_at":"2024-12-20T14:02:24.000Z","size":638,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-10T02:48:30.009Z","etag":null,"topics":["cloudflare-pages","drizzle","hono","remix-stack","supabase"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":false,"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/kazuph.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}},"created_at":"2024-12-02T14:15:42.000Z","updated_at":"2025-01-26T03:44:40.000Z","dependencies_parsed_at":"2024-12-02T16:36:14.728Z","dependency_job_id":"904cfad0-0998-4d8b-a8be-fb47edd8a752","html_url":"https://github.com/kazuph/remix-ginnan-stack","commit_stats":null,"previous_names":["kazuph/hono-remix-adapter-drizzle-supabase-template","kazuph/remix-ginnan-stack"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kazuph%2Fremix-ginnan-stack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kazuph%2Fremix-ginnan-stack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kazuph%2Fremix-ginnan-stack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kazuph%2Fremix-ginnan-stack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kazuph","download_url":"https://codeload.github.com/kazuph/remix-ginnan-stack/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247218825,"owners_count":20903317,"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":["cloudflare-pages","drizzle","hono","remix-stack","supabase"],"created_at":"2024-12-17T21:10:48.668Z","updated_at":"2025-04-04T17:25:17.202Z","avatar_url":"https://github.com/kazuph.png","language":"TypeScript","readme":"# 🚀 Remix Ginnan Stack\n\nA web application template powered by Remix and Hono, designed to run on Cloudflare Pages.\n\n![sample](sample.png)\n\n## 🛠 Getting Started\n\n### Using this template\n\nYou can create a new project based on this template using the following command:\n\n```bash\nnpx create-remix@latest --template kazuph/remix-ginnan-stack\n```\n\nAfter the project is created:\n\n1. Copy `.dev.vars.example` to `.dev.vars`\n2. Update environment variables in `.dev.vars`\n3. Run `pnpm install` to install dependencies\n4. Run `pnpm dev` to start the development server\n\n## 🛠 Tech Stack\n\n### 🏗 Framework \u0026 Runtime\n- 🎵 Remix v2.15.0\n- ☁️ Cloudflare Pages\n- 🔌 Hono Adapter v0.5.2\n\n### 💾 Database \u0026 ORM\n- 🐘 Supabase (PostgreSQL)\n- 🌊 Drizzle ORM\n- 🔄 Database Migrations\n\n### 🎨 UI/UX Libraries\n- ⚛️ React v18.2.0\n- 🎭 Tailwind CSS\n- 🎯 Shadcn UI - Beautiful and accessible components\n- 🎯 Radix UI Components\n- 🎪 Lucide React Icons\n- ✨ Tailwind CSS Animate\n\n### 🔧 Development Tools\n- 📘 TypeScript\n- ⚡️ Vite\n- 🔍 ESLint\n- 💻 Node.js v20+\n\n## 📋 Prerequisites\n\n### PostgreSQL Client (psql) Installation\n\n#### macOS\n```bash\n# Homebrewを使用する場合\nbrew install postgresql@14\n\n# または、PostgreSQLクライアントのみをインストールする場合\nbrew install libpq\necho 'export PATH=\"/opt/homebrew/opt/libpq/bin:$PATH\"' \u003e\u003e ~/.zshrc\nsource ~/.zshrc\n```\n\n#### Linux (Ubuntu/Debian)\n```bash\nsudo apt-get update\nsudo apt-get install postgresql-client\n```\n\n## 🔧 Environment Setup\n\n1. Copy `.dev.vars.example` to `.dev.vars`:\n```bash\ncp .dev.vars.example .dev.vars\n```\n\n2. Update the `DATABASE_URL` in `.dev.vars` with your Supabase PostgreSQL connection string:\n```\nDATABASE_URL=\"postgresql://postgres:your-password@your-project.supabase.co:5432/postgres\"\n```\n\n## 📋 Available Commands\n\n```bash\n# Development\npnpm run dev          # 🔥 Start Vite development server\npnpm run preview      # 👀 Preview build with Wrangler\n\n# Build \u0026 Deploy\npnpm run build        # 📦 Build Remix application\npnpm run deploy:pages # 🚀 Build and deploy to Cloudflare Pages\n\n# Database Operations\npnpm run db:generate  # 🏗 Generate Drizzle migration files\npnpm run db:migrate  # 🔄 Run Drizzle migrations\npnpm run db:push     # 📤 Push schema changes to database\npnpm run db:seed     # 🌱 Seed database with initial data\npnpm run db:studio   # 🎮 Open Drizzle Studio\n\n# Type Checking \u0026 Generation\npnpm run typecheck    # ✅ Run TypeScript type checking\npnpm run typegen      # 🏗 Generate Wrangler types\npnpm run cf-typegen   # ☁️ Generate Cloudflare types\n\n# Others\npnpm run start        # 🌐 Start Wrangler development server\npnpm run lint        # 🔍 Run ESLint code quality checks\npnpm run format      # 🎨 Run Biome code formatting\n```\n\n## ✨ Features\n\n- 🎯 Remix v3 Features Enabled\n  - 🚀 Single Fetch Optimization\n  - 💾 Fetcher Persistence\n  - 🛣 Relative Splat Paths\n  - 🔄 Lazy Route Discovery\n- ☁️ Cloudflare Pages Optimization\n- 🔌 Hono Adapter Integration\n- 🗃 Database Features\n  - 🔄 Automatic migrations with Drizzle\n  - 📊 Type-safe database operations\n  - 🎮 Database management via Drizzle Studio\n\n## 📋 Requirements\n\n- 💻 Node.js v20 or higher\n- 📦 pnpm\n- 🐘 Supabase Project (for PostgreSQL database)\n- 🛠 PostgreSQL Client (psql)\n\n## 🗃 Database Management\n\n### Migrations\n\n1. Make changes to your schema in `app/schema.ts`\n2. Generate migration files:\n```bash\npnpm run db:generate\n```\n3. Apply migrations:\n```bash\npnpm run db:migrate\n```\n\n### Push Schema Changes\nTo directly push schema changes without generating migration files:\n```bash\npnpm run db:push\n```\n\n### Database Studio\nTo manage your database through a GUI:\n```bash\npnpm run db:studio\n```\n\n### Seeding Data\nTo populate your database with initial data:\n```bash\npnpm run db:seed\n```\n\nNote: Seeding requires the PostgreSQL client (psql) to be installed on your system. See the Prerequisites section for installation instructions.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkazuph%2Fremix-ginnan-stack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkazuph%2Fremix-ginnan-stack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkazuph%2Fremix-ginnan-stack/lists"}