World Vibe Web
The distributed app store for vibe-coded projects. Browse, discover, and install open-source apps from across GitHub.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
Plateforme e-commerce et communautaire pour voyageurs outdoor, construite avec Next.js 15, Supabase et Stripe.檢視完整 README ↗
Plateforme e-commerce et communautaire pour voyageurs outdoor, construite avec Next.js 15, Supabase et Stripe.
| Couche | Technologie |
|---|---|
| Frontend | Next.js 15 (App Router), React 19, TypeScript strict, Tailwind CSS |
| Backend | Supabase (PostgreSQL + PostGIS), RLS par auth.uid() |
| Paiement | Stripe (server-side, webhooks async) |
| IA | OpenRouter MCP |
| 3D | react-globe.gl + three.js (globe interactif page Pays) |
| Cartes | Leaflet + tuiles OSM |
| Animations | Frame Motion |
npm install
# ou
yarn install
npm run dev
# ou
yarn dev
Ouvrir http://localhost:3000
nextjs/
src/
app/ # App Router (pages, layouts, API routes)
├── 🛍️ (shop) # Boutique, produit, panier, checkout
├── 🗺️ explorer/ # Carte randonnées
├── 💬 communauté/ # Feed, clubs, groupes, événements
├── 📊 compte/ # Dashboard voyageur
├── 🗺️ pays/ # Guides par destination
├── 🥾 terrain/ # Hub terrain mobile (offline, GPS)
├── 🔧 admin/ # Admin (accès restreint)
├── 🖼️ components/ # (vidéo — anciens composants supprimés)
components/
mobile-nav/ # BottomTabBar, MobileDrawer, MobileNavWrapper, TopBar, OfflineBanner
explorer/ # ExplorerMap, InteractiveMap
carnet/ # CarnetView, CreateCarnetView
communauté/ # CarnetFormModal, ClubFormModal, ClubDetailModal (dynamic imports)
terrain/ # TerrainHub
search/ # SearchOverlay, useRecentSearches
compte/ # Dashboard tabs (dynamic imports)
groups/ # Cards groupe voyage (dynamic imports)
home/ # 17 sections homepage
ui/ # AppImage, LkvIcon, EmptyState, CustomCursor
features/
hiking/ # Cockpit de randonnée (GPS, stats, carnet, GPX, 3D, IA)
components/ # DesktopTopBar, DesktopLeftPanel, DesktopRightPanel, DesktopDockBar, DesktopMapOverlay, CompletionView, HikingCockpitPage
hooks/ # useHikingStore (GPS, positions, déviation, météo)
types/ # POI, FilterState, etc.
hooks/ # useHapticFeedback, useOnlineStatus, useOfflineCache, useRecentSearches
lib/
supabase/
├── queries-*.ts # Service layer (queries-compte, queries-carnet, etc.)
├── client.ts # Client Supabase
├── services/ # Logique métier (cart, auth, stripe)
contexts/ # AuthContext, WishlistContext, ToastContext, SearchContext
supabase/
migrations/ # Migrations SQL (RLS, triggers, PostGIS) — 66 migrations synchronisées
docs/
├── 📋 superpowers/
├── 📋 plans/ # Plans de développement
├── 📋 specs/ # Specs de design
├── 📄 FINAL_DELIVERY_REPORT.md
├── 📄 IMPLEMENTATION_SUMMARY.md
CLAUDE.md # Conventions de développement et design système
PROGRESS.md # Suivi des chantiers
next.config.mjs
Voir CLAUDE.md pour le design système complet, les patterns responsives, les conventions d'image fallback, l'architecture, et les règles de sécurité.
Points clés :
src={data.image_url || '/assets/images/no_image.png'}#E4501C interditnext/dynamic pour réduire le FLJSuseHapticFeedback sur interactions mobile clésforce-dynamic : les routes API utilisent export const dynamic = 'force-dynamic' pour éviter le cache statique Next.jsnpm run dev — Serveur de développement (port 3000)npm run build — Build de productionnpm run start — Serveur de productionnpm run server — Alias de npm run startnpm run lint — ESLintnpm run lint:fix — Corriger automatiquement les erreurs ESLintnpm run format — Prettiernode scripts/validate-country-cache.mjs — Valide les fichiers .country-cache/*.json (schéma, températures, précipitations, FAQ dupliquées)Workflow unifié : .github/workflows/ci.yml.
npm run type-checknpm run lintnpm testnpm run buildLKDV_E2E_ENABLED=trueDéclenche sur push vers main et sur les pull requests vers main.
Build config :
typescript.ignoreBuildErrorsest àfalse(depuis PR #14).eslint.ignoreDuringBuildsa été remis àtruelors du chantier hiking (commit f86aac8, 9 août). À remettre àfalsepour restaurer le contrôle ESLint strict.
kitduvoyageur-1783951966810 (équipe tonyfaracip-3325s-projects), branche main.main déclenche un déploiement de production via l’intégration Git Vercel.vercel git connect https://github.com/TFaraciColbert59/kitduvoyageur_1783951966810 --project prj_AqYb1FBEcyNGTZMVimBJXRDulyXp./compte reste accessible en visiteur (aperçu de démonstration) ; l’inscription crée un profil réel avec un handle généré par trigger.