No updates detected yet. GitHub releases will appear here.
Loading the full README. The saved excerpt is shown below.
ふらとら は、日本の鉄道においてベビーカー・車いすを利用しやすい設備の位置と乗り換え案内を提供するWebアプリです。 鉄道駅でのバリアフリー設備(エレベーター・多機能トイレなど)の位置や、乗り換えのしやすさの評価、さらに列車内のフリースペース・優先席の号車位置をビジュアルで確認できます。 • pnpm >= 10.7.0 • Neon アカウント(開発用DBブランチの作成に必要) 1. Neon コンソール(または Neon CLI / MCP)で、main ブランチから [README 설치·사용 부분 발췌] Setup • pnpm >= 10.7.0 • A Neon account (needed to create a development DB branch)Read the full README ↗
日本語 | English
ふらっと乗換 は、日本の鉄道においてベビーカー・車いすを利用しやすい設備の位置と乗り換え案内を提供するWebアプリです。
鉄道駅でのバリアフリー設備(エレベーター・多機能トイレなど)の位置や、乗り換えのしやすさの評価、さらに列車内のフリースペース・優先席の号車位置をビジュアルで確認できます。
| ディレクトリ | 内容 |
|---|---|
apps/web | フロントエンド(一般ユーザー向け) |
apps/admin | 管理者向けデータ管理パネル |
apps/scripts | データ取得・初期化スクリプト |
packages/database | DB クライアント・スキーマ定義 |
packages/typescript-config | 共有 TypeScript 設定 |
| 技術 | バージョン | 用途 |
|---|---|---|
| Next.js | 16 (App Router) | Webフレームワーク |
| React | 19 | UIライブラリ |
| Mantine | v8 | UIコンポーネントライブラリ |
| TailwindCSS | v4 | ユーティリティCSSフレームワーク |
| Lucide React | - | アイコン |
| 技術 | バージョン | 用途 |
|---|---|---|
| DrizzleORM | v0.45 | 型安全なORM |
| PostgreSQL | - | リレーショナルデータベース |
| Neon | - | サーバーレスPostgreSQL(開発・本番共通) |
| 技術 | バージョン | 用途 |
|---|---|---|
| Auth.js (NextAuth) | v5 | GitHub OAuth認証 |
| Zod | v4 | スキーマバリデーション |
| 技術 | バージョン | 用途 |
|---|---|---|
| TurboRepo | v2 | モノレポビルドシステム |
| pnpm | v10 | パッケージマネージャー |
| TypeScript | v5 | 型安全な開発 |
git clone https://github.com/Natsugure/furatora.git
cd furatora
pnpm install
Neon コンソール(または Neon CLI / MCP)で、main ブランチから development ブランチを作成する
.env.example を参考に、以下の4ファイルを作成する。DATABASE_URL は development ブランチの接続文字列を使用する(プールド/直結の使い分けは .env.example のコメントを参照)
| ファイル | 内容 |
|---|---|
apps/web/.env.local | DATABASE_URL(プールド), NEXT_PUBLIC_GA_ID |
apps/admin/.env.local | DATABASE_URL(プールド), AUTH_* |
apps/scripts/.env | DATABASE_URL(直結) |
packages/database/.env | DATABASE_URL(直結) |
# DBスキーマの適用(Neon development ブランチへ)
pnpm run db:push
# 開発サーバーの起動
pnpm run dev
development ブランチのデータを壊した場合は、Neon コンソール(または CLI/MCP)で
main ブランチから development ブランチを作り直す(コピーオンライトのため即時)。
その後、以下の手順で再構築する。
# 1. スキーマを適用
pnpm run db:push
# 2. マスタデータを投入
pnpm --filter scripts seed
ホーム・列車・停車位置・コンコース・設備は Admin での手入力データのため、 上記のコマンドでは復元されない。必要な範囲を Admin 画面から再入力する。
pnpm run dev # 全アプリの開発サーバーを起動
pnpm run build # 全アプリのビルド
pnpm run lint # リント実行
pnpm run db:push # DBスキーマを適用
pnpm run db:studio # Drizzle Studio(DB GUI)を起動
マイグレーションは Vercel のビルド時に、そのデプロイの接続先へ自動的に適用される。
pnpm run db:migrate を手で本番に流す運用は取らない。
Preview デプロイは PR ごとに Neon の preview/<git-branch> ブランチを持つ。
本番データのコピーに、その PR のスキーマを適用した状態で動作を確認できる。
破壊的なマイグレーション(DROP COLUMN 等)は二段階に分ける。
ビルド時にマイグレーションが走るため、稼働中の旧デプロイが新しいスキーマに直面する。
設計の根拠と却下した選択肢は ADR-0008 を参照。
apps/web と apps/admin は別々の Vercel プロジェクトである。
| 場所 | 対象 | 設定 |
|---|---|---|
| Vercel: Storage → Connect Project → Advanced Options | web / admin の両方 | Preview Branching を有効化 |
| Vercel: Settings → Build and Deployment | web のみ | Build Command を pnpm -w run db:migrate && turbo run build に上書き |
GitHub: リポジトリ変数 NEON_PROJECT_ID | — | Neon のプロジェクトID |
GitHub: シークレット NEON_API_KEY | — | Neon の API キー |
db:migrate を admin 側にも入れてはならない。 両プロジェクトが同じ preview
ブランチを共有するため、1回の push で同じマイグレーションが同時に流れて衝突する。
GitHub 側の2つは、PR クローズ時に preview ブランチを削除する
.github/workflows/cleanup-neon-preview.yml が使用する。
furatora is a web application that provides information on barrier-free facilities (stroller/wheelchair-friendly elevators, restrooms, etc.) at Japanese railway stations and trains, along with transfer guidance for passengers with strollers or wheelchairs.
Users can visually check the locations of accessible facilities on platforms, transfer difficulty ratings, and the position of priority/free spaces within train cars.
| Directory | Description |
|---|---|
apps/web | Frontend (end-user facing) |
apps/admin | Admin data management panel |
apps/scripts | Data fetching & seeding scripts |
packages/database | DB client & schema definitions |
packages/typescript-config | Shared TypeScript configuration |
| Technology | Version | Purpose |
|---|---|---|
| Next.js | 16 (App Router) | Web framework |
| React | 19 | UI library |
| Mantine | v8 | UI component library |
| TailwindCSS | v4 | Utility-first CSS framework |
| Lucide React | - | Icons |
| Technology | Version | Purpose |
|---|---|---|
| DrizzleORM | v0.45 | Type-safe ORM |
| PostgreSQL | - | Relational database |
| Neon | - | Serverless PostgreSQL (dev & production) |
| Technology | Version | Purpose |
|---|---|---|
| Auth.js (NextAuth) | v5 | GitHub OAuth authentication |
| Zod | v4 | Schema validation |
This is the beginning of the README. Read the rest at the original. Read the full README ↗