Prompt file imported from Rodrigue-k/s_contact (
.windsurf/workflows/scontact-rules.md). Copyright stays with the author.
đŻ Objectif prĂ©cis
Créer une application cross-platform (Android + iOS) permettant de partager ses coordonnées via un QR code, sans serveur externe ni compte Google, et sans API compliquée. L'application génÚre une carte de visite numérique sous forme de QR code que d'autres peuvent scanner avec n'importe quelle application de lecture de QR code.
đĄ Pourquoi câest une idĂ©e gĂ©niale
- â Aucune dĂ©pendance API (pas besoin de clĂ© Google ou Apple).
- â Compatible partout (Android, iOS, voire plus tard desktop).
- â SĂ©curitĂ© et confidentialitĂ© maximales : les donnĂ©es restent locales.
- â SimplicitĂ© UX : crĂ©er son profil â gĂ©nĂ©rer QR code â partager.
- â ZĂ©ro permission sensible (pas d'accĂšs camĂ©ra nĂ©cessaire).
âïž Fonctionnement gĂ©nĂ©ral
1ïžâŁ CrĂ©ation du profil utilisateur
Au premier lancement :
- Lâutilisateur remplit son profil : Nom, TĂ©lĂ©phone, Email, SociĂ©tĂ© (facultatif), Site web (facultatif).
- Ces données sont enregistrées localement (dans
SharedPreferencesouHive).
2ïžâŁ GĂ©nĂ©ration du QR code
- L'app encode les données sous forme de vCard (.vcf) (format standard pour les contacts).
- Le QR code contient le texte complet du contact en format vCard, par exemple :
BEGIN:VCARD
VERSION:3.0
N:KOUDAKPO;Rodrigue;;;
TEL;TYPE=mobile:+22890123456
EMAIL:rodrigue@example.com
END:VCARD
- Ce QR code est affiché à l'écran (comme une "carte de visite numérique").
3ïžâŁ Partage du QR code
- D'autres personnes peuvent scanner le QR code avec n'importe quelle application de lecture de QR code.
- Le QR code génÚre automatiquement une vCard compatible avec tous les carnets d'adresses.
đ§± Stack technique
| ĂlĂ©ment | Technologie / Package Flutter |
|---|---|
| Génération QR code | qr_flutter |
| Stockage local | shared_preferences |
| Gestion d'état | flutter_riverpod |
| ThĂšmes et design | google_fonts + Material Design |
| Format vCard | Implémentation maison |
đ§© Architecture simple (MVP)
- main.dart â point d'entrĂ©e, configuration Riverpod.
- home_page.dart â page principale avec formulaire ou QR code selon l'Ă©tat.
- profile_page.dart â pour configurer et modifier les infos personnelles.
- qr_view_page.dart â affiche le QR code en plein Ă©cran.
- routes.dart â gestion de la navigation.
- providers/ â gestion d'Ă©tat avec Riverpod.
đ Ăvolution possible (v2+)
- Synchronisation facultative via Firebase (option cloud).
- Personnalisation du QR code (logo, couleur, style).
- Partage rapide via NFC ou lien universel.
- Intégration automatique à Google Contacts via OAuth (optionnel).
- Import/export CSV ou VCF multiple.
đ§Ÿ README pour Hacktoberfest (draft)
Nom du projet : s_contact Description : Une application Flutter open-source pour partager et enregistrer rapidement des contacts via QR code
Fonctionnalités :
- Créez votre carte de contact numérique.
- Générez votre QR code personnel en format vCard.
- Partagez votre QR code avec d'autres.
- Compatible Android & iOS.
Tech Stack : Flutter, Dart, qr_flutter, flutter_riverpod, shared_preferences.
Roadmap :
- Page profil utilisateur avec Riverpod
- Génération QR code vCard
- Interface adaptative (formulaire/QR selon état)
- Design simple et responsive
- Partage du QR code (WhatsApp, etc.)
- Personnalisation du design du QR code
Souhaites-tu que je te gĂ©nĂšre directement le README complet + le plan de structure du dossier Flutter (avec le code dâexemple minimal pour chaque page) ? Ăa te ferait gagner du temps pour ton dĂ©pĂŽt GitHub Hacktoberfest.
