个人 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.