Serein
Rust로 만든 가볍고 성능 좋은 Discord 전용 네이티브 클라이언트
호치민시의 구조 단체·동물병원·자원봉사자·보호가정·입양자를 연결하는 검증된 네트워크
A verified network connecting rescue groups, vet clinics, volunteers, foster homes and adopters of dogs and cats in Ho Chi Minh City.
소셜TypeScript · PLpgSQLGitHub @nguyenphucanhrnd-png온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
HomeForAll: từ cứu hộ đến mái ấm trọn đời (TP.HCM) - prototype
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Từ cứu hộ đến mái ấm trọn đời: a nonprofit platform connecting rescue groups, vet clinics, volunteers, foster homes and adopters of dogs and cats in Ho Chi Minh City.
/vi), English (/en).npm install
cp .env.example .env.local # fill in the Supabase values
npm run dev # http://localhost:3000 → redirects to /vi
The site runs without Supabase (browse-only; login shows "not connected").
npx supabase link --project-ref <ref> then npx supabase db push, or paste supabase/migrations/*.sql into the SQL editor in order.http://localhost:3000/auth/confirm and https://<domain>/auth/confirm to Redirect URLs.NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY, SUPABASE_SECRET_KEY in .env.local.# .env.local: HFA_ALLOW_DEV_USERS=true
node --env-file=.env.local scripts/dev-role-users.ts
Prints one single-use login link per role ([email protected], rescue-partner@…, …). Rescue and vet users get a verified [Demo] organisation.
.mcp.json registers the 21st.dev MCP server (UI component search, inspiration, logos, generation). The key is never committed: it is read from the API_KEY_21ST environment variable.
setx API_KEY_21ST "your-key" (then fully restart VS Code / Claude Code). macOS/Linux: export it in your shell profile.design-refs/video/master.mp4 (or master-4k.mp4) and edit design-refs/video/master-timecodes.txt.python design-refs/scripts/hfa_media.py all (needs Python 3.8+ and ffmpeg) → public/assets/plates/sNN/ + public/assets/stills/./vi/dev/plates in npm run dev to check frames, focal points and scroll ranges.| Command | What it does |
|---|---|
npm run dev | Dev server |
npm run check | Type-check, lint, unit + RLS tests, production build |
npm test | Vitest: roles, colour-contrast tokens, RLS policies (real migrations in PGlite) |
npm run e2e | Playwright + axe against the production build (run npm run build first) |
npm run format | Prettier |
messages/ vi.json, en.json (every UI string)
src/app/[locale]/ pages (help, login, dashboard, admin, stubs for later milestones)
src/app/auth/ magic-link confirm route
src/components/ layout shell, brand, ui primitives
src/i18n/ next-intl routing + request config
src/lib/ env, supabase clients, auth (viewer, roles, guards)
src/proxy.ts locale routing + session refresh
supabase/migrations/ SQL migrations (RLS on every table)
tests/ Vitest (tokens, db/RLS)
e2e/ Playwright journeys
scripts/ dev tooling
Design rules and decisions: see CLAUDE.md.
The product is built to support Vietnam's Personal Data Protection Law (No. 91/2025/QH15): explicit unticked consent, data minimisation, self-service export and deletion, consent timestamps. The UI does not claim legal compliance. The privacy policy and terms must be reviewed by a qualified person before 1 Feb 2027.
Medical content on /help and /learn stays a marked placeholder until it is copied from WHO / Ministry of Health sources and signed off by a medical reviewer.
pg_dump backup.public/brand/)npm run seed:clear-demo)