Easy-to-manage touch screens
Free, open-source touch screens. Guided USB setup, a drag-and-drop editor and local control. Made for Home Assistant.
Ghép taxi / đi chung xe, chia chi phí tuyến Hoà Lạc ↔ Hà Nội cho sinh viên và người đi làm.
Translation pending
LifestyleTypeScript · HTMLGitHub @cuongnc0211OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
Web PWA ghép chuyến Hoà Lạc ↔ Hà Nội (ghép taxi / đi chung xe, chia chi phí). Beachhead: sinh viên. Spec đầy đủ: docs/roadmate-mvp-design.md. Kế hoạch triển khai: plans/260923-roadmate-mvp-web/plan.md. • Next.js 15 (App Router, TypeScript) — UI + API layer (Route Handlers) • Supabase (Postgres + Auth + RLS + Realtime + Storage) • Tailwind CSS v4 + shadcn/ui-style components • PWA (@ducanh2912/next-pwa), mobile-first • pnpm (bắt buộc — không dùng npm/yarn/bun) • Node ≥ 20 (repo test trên v22) • pnpm ≥ 10 • Docker (cho Supabase local)Read the full README ↗
Web PWA ghép chuyến Hoà Lạc ↔ Hà Nội (ghép taxi / đi chung xe, chia chi phí).
Beachhead: sinh viên. Spec đầy đủ: docs/roadmate-mvp-design.md.
Kế hoạch triển khai: plans/260923-roadmate-mvp-web/plan.md.
@ducanh2912/next-pwa), mobile-firstpnpm install
# 1) Supabase local (Docker). In ra URL + anon/service keys.
pnpm db:start
pnpm db:status # copy URL + keys vào .env.local
# 2) App
cp .env.example .env.local # điền các biến từ db:status
pnpm dev # http://localhost:3000
Health check: /api/health — trả { ok: true } khi kết nối được Supabase.
Xem .env.example. Tóm tắt:
| Biến | Vị trí | Ghi chú |
|---|---|---|
NEXT_PUBLIC_SUPABASE_URL | client + server | URL project (local hoặc cloud) |
NEXT_PUBLIC_SUPABASE_ANON_KEY | client + server | Anon key (RLS áp dụng) |
SUPABASE_SERVICE_ROLE_KEY | server-only | Bypass RLS — chỉ dùng trong Route Handlers. KHÔNG để lộ ra client. |
NEXT_PUBLIC_SITE_URL | client + server | Base URL của app |
⚠️ Không commit
.env.localhay bất kỳ secret nào.
| Lệnh | Việc |
|---|---|
pnpm dev | Chạy dev server |
pnpm build / pnpm start | Build + chạy production |
pnpm lint | ESLint |
pnpm typecheck | tsc --noEmit |
pnpm db:start / db:stop / db:status | Supabase local (Docker) |
pnpm db:reset | Reset DB + chạy lại migrations/seed |
pnpm db:types | Gen TypeScript types từ schema → lib/db/types.ts |
app/
(app)/ # shell mobile-first: TopBar + 5 tab + TabBar
board/ create/ mine/ notifs/ profile/
api/health/ # health check kết nối Supabase
layout.tsx # root: fonts, theme, toaster
manifest.ts # PWA manifest
components/
shell/ # TopBar, TabBar, ThemeToggle, PageStub
ui/ # button, switch, sonner (shadcn-style)
theme-provider.tsx
lib/
supabase/ # client (browser) + server/admin
utils.ts # cn()
supabase/ # config, migrations, seed (từ Phase 02)
zalo_id (nullable tới khi liên kết Zalo).