Maîtriser la prise de notes avec FlutterFlow et Supabase : Un guide complet
Dans ce tutoriel complet, vous apprendrez à construire une application de prise de notes robuste en utilisant FlutterFlow pour le front-end et Supabase pour le backend. Avec ce guide, nous vous accompagnerons à chaque étape, de la configuration de votre base de données Supabase à son intégration avec FlutterFlow, garantissant que même les débutants peuvent suivre efficacement. Commençons !
Ce guide suppose une compréhension basique de FlutterFlow et Supabase. Pour plus de détails, consultez la documentation officielle pour FlutterFlow et les docs Supabase.
Configuration de la base de données Supabase
Complétez ces étapes fondamentales pour configurer votre base de données Supabase avant de plonger dans l'interface utilisateur et la logique de l'application.
1. Création d'un nouveau projet dans le tableau de bord Supabase
Commencez par visiter la page d'accueil Supabase, et cliquez sur "Démarrer un projet" ou connectez-vous simplement.
- Créer un nouveau projet : Donnez un nom unique à votre projet et définissez un mot de passe de base de données fort. Sélectionnez la région de serveur de base de données préférée et cliquez sur "Créer un nouveau projet."
2. Création de la table Users
Dans le tableau de bord Supabase, naviguez vers l'Éditeur de table pour créer une nouvelle table nommée users. La structure de votre table devrait ressembler à ceci :
Champs :
id: UUID (Clé primaire)email: Textname: Textcreated_at: Timestamp (Par défaut : NOW())
Définissez la clé primaire pour id et configurez les contraintes nécessaires.
3. Création de la table Notes
Ensuite, créez une autre table nommée notes avec le schéma suivant :
Champs :
id: UUID (Clé primaire)title: Textdescription: Textimage_url: Text (pour stocker les chemins des images)created_at: Timestamp (Par défaut : NOW())
4. Configuration d'un bucket de stockage dans Supabase
Pour stocker les images liées aux notes, créez un bucket de stockage :
-
Créer un bucket public : Allez dans la section Stockage, nommez votre bucket
notes, et gardez-le public. -
Définir les politiques : Sous Configuration > Politiques, créez une politique pour l'insertion de fichiers avec ces permissions :
(bucket_id = 'notes'::text) AND (lower((storage.foldername(name))[1]) = (auth.uid())::text)
Connecter votre application FlutterFlow avec Supabase
Étape 1 : Cloner le projet de démarrage
Clonez le projet de démarrage FlutterFlow fourni pour commencer à intégrer Supabase avec FlutterFlow.
Étape 2 : Configurer l'authentification
Naviguez vers Paramètres > Paramètres de l'application > Authentification dans FlutterFlow :
- Activer l'authentification : Définissez le
Type d'authentificationsur Supabase. - Définir les pages : Configurez la
Page d'entréevers votre écran de connexion et laPage connectéevers votre écran d'accueil.
Étape 3 : Intégrer Supabase
- Activer Supabase : Activez Supabase dans la section
Intégrations. - Ajouter l'URL API et la clé Anon : Ceux-ci peuvent être trouvés dans les paramètres de votre projet Supabase.
- Récupérer le schéma : Cliquez sur "Obtenir le schéma" pour récupérer les tables de la base de données.
Étape 4 : Construire la page de connexion
Concevez une page de connexion conviviale avec des champs de texte pour les identifiants :
- Ajouter une action 'On Tap' : Sur le bouton 'Créer un compte', ajoutez une nouvelle action
Backend/Database > Supabase > Insert Rowpour stocker les données utilisateur.
const userInsertAction = {
actionType: 'Insert Row',
table: 'users',
fields: {
id: AuthenticatedUser.uid,
email: TextField.email,
name: TextField.name,
created_at: GlobalProperties.CurrentTime,
},
};Étape 5 : Ajouter la logique de connexion
Répétez le processus pour le bouton 'Se connecter', mais définissez le type d'action sur Login.
Étape 6 : Implémenter la fonctionnalité de déconnexion
Créez une action de déconnexion sur le bouton de déconnexion de la HomeListPage :
- Type d'action :
Logout - Propriétés : Aucun paramètre supplémentaire requis.
Récupération et affichage des notes
Étape 7 : Créer la vue liste des notes
- Naviguer vers la page de liste des notes :
- Interroger la table Notes : Sur la HomeListPage, définissez une requête Supabase pour récupérer la liste des notes.
const notesQuery = {
queryType: 'List of Rows',
table: 'notes',
fields: ['title', 'created_at'],
};Étape 8 : Lier les éléments UI aux données
Liez les données de la table notes aux widgets NoteItem :
- Titre : Liez à
notes Row > title - Date : Liez à
notes Row > created_at
Navigation entre les pages
Étape 9 : Définir les actions de navigation
- Naviguer vers NoteDisplayPage : Au tap sur
NoteItem, naviguez vers NoteDisplayPage, en passant les données de la note sélectionnée.
Étape 10 : Afficher le contenu de la note
Liez les données de la note reçue aux éléments UI sur la NoteDisplayPage :
- Titre, Description et Image
Ajout de nouvelles notes
Étape 11 : Naviguer vers CreateNotePage
Définissez le bouton Créer pour naviguer de HomeListPage vers CreateNotePage sans paramètres.
Étape 12 : Fonctionnalité de téléchargement de fichier
Ajoutez une action au bouton de téléchargement d'image pour enregistrer le fichier sur Supabase.
const uploadAction = {
uploadType: 'Supabase',
bucket: 'notes',
filePath: URL.path,
};Étape 13 : Visibilité conditionnelle pour les images téléchargées
Configurez la visibilité conditionnelle pour le widget d'image afin d'éviter les exceptions null :
- Condition : L'URL du fichier téléchargé n'est pas vide.
Étape 14 : Action de création de note
Assignez des actions backend au bouton 'Créer' pour insérer une nouvelle ligne dans la table notes et naviguer en arrière.
const createNoteAction = {
actionType: 'Insert Row',
table: 'notes',
fields: {
title: TextField.title,
description: TextField.description,
image_url: WidgetState.uploadedFileURL,
created_at: GlobalProperties.CurrentTime,
},
};Conclusion
Félicitations ! Vous avez réussi à construire une application de prise de notes en utilisant FlutterFlow et Supabase. Ce guide a fourni une présentation complète, de la configuration de la base de données aux opérations CRUD, vous assurant d'avoir une base solide pour étendre davantage votre application.
Pour des tutoriels et ressources plus détaillés, consultez la documentation officielle FlutterFlow et les docs Supabase.
Merci d'avoir suivi ce guide, et bon codage !
Référence : "FlutterFlow Docs Troubleshooting Guides Docs FeedbackAsk or Search⌘ + K" disponible sur la Documentation FlutterFlow.
Discutez de votre projet avec nous
Nous sommes ici pour vous aider avec vos besoins en développement Web. Planifiez un appel pour discuter de votre projet et comment nous pouvons vous aider.
Trouvons les meilleures solutions pour vos besoins.
Articles connexes

Découvrez les 10 meilleures fonctionnalités de Firebase Genkit pour une intégration d'application fluide et une gestion de modèles puissante
Découvrez les 10 meilleures fonctionnalités de Firebase Genkit pour une intégration d'application fluide et une gestion de modèles supérieure.

Introduction au Model Context Protocol (MCP)
Découvrez le Model Context Protocol (MCP), ses cas d'usage, ses avantages et comment construire et utiliser un serveur MCP avec TypeScript.
Maîtriser Next.js : Exploiter la puissance des intégrations tierces
Débloquez le plein potentiel de Next.js avec les intégrations tierces ! Simplifiez votre développement et améliorez les fonctionnalités de votre application sans effort. Plongez dans notre guide pour maîtriser les intégrations fluides dès aujourd'hui.