個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
Tripora Organiser un voyage à plusieurs sans 15 conversations WhatsApp, 40 onglets et trois tableurs. Vous dites à Tripora avec qui vous partez, d'où, quand, pour combien et ce dont vous avez envie. Tripora aide le groupe à choisir une destination, puis à construire le voyage : itinéraire, carte, budget, dépenses. L'IA n'est jamais une source de vérité pour un prix, une durée ou une météo. Un prix affiché est toujours dans l'un de ces trois états, jamais autre chose :檢視完整 README ↗
Vous dites à Tripora avec qui vous partez, d'où, quand, pour combien et ce dont vous avez envie. Tripora aide le groupe à choisir une destination, puis à construire le voyage : itinéraire, carte, budget, dépenses.
« On aimerait partir 5 jours quelque part en Europe à 4, le moins cher possible. »
↓
« Voici 5 destinations qui collent à vos goûts et à vos budgets, avec le coût
total de chacune, l'option qui met tout le monde d'accord, et pourquoi. »
Les APIs fournissent les faits. (prix relevés, météo, lieux, taux de change)
Le code calcule. (coût total, scores, compromis, remboursements)
L'IA interprète et explique. (langage naturel, rédaction, adaptation)
Le groupe décide. (vote)
L'IA n'est jamais une source de vérité pour un prix, une durée ou une météo. Un prix affiché est toujours dans l'un de ces trois états, jamais autre chose :
| État | Ce que ça veut dire |
|---|---|
| Prix vu le 5 sept. (Aviasales) | Relevé sur une source réelle, il y a moins de 72 h |
| Prix indicatif | Estimation calculée par Tripora |
| Prix non disponible | Aucune donnée exploitable, et on le dit |
Tripora est d'abord une PWA : une application web installable. Un seul code, une seule URL, et elle s'installe sur iPhone, Android, Mac, Windows et Linux, avec icône, plein écran, fonctionnement hors ligne et notifications. Le détail du choix.
Le même code existe aussi en application Android et iOS, emballé par Capacitor, avec le même serveur : un voyage créé sur le téléphone apparaît sur le site, et l'inverse. L'APK se télécharge toujours à la même adresse : https://github.com/AllAbdel/Tripora/releases/download/android/tripora.apk — installer, signer, et le cas de l'iPhone.
pnpm install
pnpm dev # http://localhost:5173
Sans configuration, l'application démarre en mode local : l'interface est explorable, mais rien n'est partagé. Pour activer la collaboration, suivez le guide de mise en place — cinq comptes gratuits, aucune carte bancaire, une vingtaine de minutes.
| Commande | Effet |
|---|---|
pnpm dev | Serveur de développement |
pnpm check | Lint, types, tests et build : tout ce que vérifie l'intégration continue |
pnpm test | Tests unitaires et d'interface |
pnpm --filter @tripora/web test:e2e | Ouvre l'application construite dans un vrai navigateur et refait les parcours |
./supabase/tests/run.sh | Rejoue le schéma sur un Postgres local et teste les politiques RLS |
pnpm --filter @tripora/web icons | Régénère le jeu d'icônes PWA |
Les tests unitaires ne voient pas tout. Cinq défauts livrés le même jour sont
passés devant cinq cent trente tests au vert : une page blanche à la deuxième
ouverture — le cache des requêtes est relu en JSON, et un Set en revenait
vide —, un glissement sans effet à la souris parce que le navigateur lançait
son propre glisser-déposer, un voyage qui perdait sa destination sur l'accueil.
Aucun n'était visible autrement qu'en ouvrant l'application.
pnpm --filter @tripora/web test:e2e construit l'application sans serveur
configuré — mode local, aucun réseau, aucune vraie donnée, aucun quota — la
sert sous la vraie politique de sécurité, et refait les parcours au format
téléphone. Chaque test correspond à un défaut réellement survenu, et chacun a
été vérifié en remettant le défaut pour s'assurer qu'il échoue bien.
apps/web/ Application PWA (React, TypeScript, Tailwind, MapLibre)
apps/mobile/ Le même site en application Android et iOS (Capacitor)
packages/core/ Logique métier pure : coût, scoring, argent, schémas — testée
supabase/ Schéma SQL, politiques RLS, Edge Functions, tests hors ligne
docs/ Architecture, APIs, mise en place
packages/core est importé à la fois par l'application et par les fonctions
serveur : le calcul affiché est exactement celui qui est enregistré.
Projet personnel. Tripora s'inspire des idées fonctionnelles d'applications de voyage en groupe comme Palima, sans reprendre ni leur code, ni leurs textes, ni leur identité visuelle.