Créer une application de réseau social avec Flutter et Back4App
Créer une application de réseau social peut être une tâche complexe, mais avec Flutter et Back4App, vous pouvez simplifier le processus de développement. Ce tutoriel vous guidera à travers la création d'une application de réseau social complète qui inclut l'authentification des utilisateurs, la gestion des profils, les fils d'actualités, les connexions d'amis, la messagerie et les notifications.
À la fin de ce tutoriel, vous aurez une application de réseau social fonctionnelle avec les fonctionnalités suivantes :
- Authentification des utilisateurs: Processus d'inscription et de connexion sécurisés.
- Profils d'utilisateurs: Profils modifiables avec des informations sur l'utilisateur.
- Fils d'actualités: Afficher les publications des amis et de l'utilisateur.
- Connexions d'amis: Possibilité d'envoyer et d'accepter des demandes d'amis.
- Messagerie: Chat en temps réel entre les utilisateurs.
- Notifications: Notifications push pour les demandes d'amis, les messages et les interactions sur les publications.
Pour suivre ce tutoriel, vous aurez besoin de :
- Flutter SDK installé sur votre machine. Suivez le guide d'installation officiel de Flutter pour votre système d'exploitation.
- Connaissances de base en Flutter et Dart. Si vous êtes nouveau dans Flutter, consultez la documentation Flutter pour vous familiariser avec les bases.
- Un IDE ou éditeur de texte tel que Visual Studio Code ou Android Studio.
- Parse Server SDK pour Flutter ajouté à votre projet. Apprenez à le configurer en suivant le Guide Back4App Flutter SDK.
Ouvrez votre terminal et exécutez :
Accédez au répertoire du projet :
Ouvrez pubspec.yaml et ajoutez les dépendances suivantes :
Exécutez flutter pub get pour installer les paquets.
Remarque: Nous utilisons :
- parse_server_sdk_flutter pour l'intégration Back4App.
- provider pour la gestion d'état.
- image_picker pour sélectionner des images de profil et de publication.
- cached_network_image pour un chargement d'images efficace.
- firebase_messaging pour les notifications push.
- uuid pour générer des identifiants uniques.
- Cliquez sur "Créer une nouvelle application".
- Entrez un nom pour votre application, par exemple, "SocialApp", et cliquez sur "Créer".
Nous devrons créer plusieurs classes dans Back4App:
- Utilisateur: Classe intégrée pour l'authentification des utilisateurs.
- Profil: Stocke les informations de profil de l'utilisateur.
- Publication: Stocke les publications des utilisateurs.
- Demande d'ami: Gère les demandes d'amis entre les utilisateurs.
- Message: Stocke les messages entre les utilisateurs.
- Naviguez vers la "Base de données" section.
- Cliquez sur "Créer une classe".
- Dans la modal:
- Sélectionnez "Personnalisé".
- Entrez "Profil" comme nom de classe.
- Cliquez sur "Créer une classe".
Ajoutez les colonnes suivantes:
- utilisateur: Type Pointer<_User>
- nom d'utilisateur: Type String
- nomComplet: Type String
- bio: Type String
- photoDeProfil: Type Fichier
Créer un "Post" classe avec les colonnes suivantes :
- utilisateur: Type Pointer<_User>
- contenu: Type String
- image: Type File
- crééÀ: Type Date
Créer un "FriendRequest" classe avec les colonnes suivantes :
- deUtilisateur: Type Pointer<_User>
- àUtilisateur: Type Pointer<_User>
- statut: Type String (Valeurs : "en attente", "accepté", "rejeté")
Créer un "Message" classe avec les colonnes suivantes :
- deUtilisateur: Type Pointer<_User>
- àUtilisateur: Type Pointer<_User>
- contenu: Type String
- crééÀ: Type Date
- Naviguer vers Paramètres de l'application > Sécurité et clés.
- Notez votre ID d'application et Clé client.
Ouvrez lib/main.dart et modifiez-le comme suit :
- Remplacez 'YOUR_APPLICATION_ID' et 'YOUR_CLIENT_KEY' par vos identifiants Back4App.
- Nous utilisons ChangeNotifierProvider pour gérer l'état d'authentification.
Créez un nouveau répertoire appelé services sous lib et ajoutez un fichier nommé auth_service.dart:
Créez un répertoire appelé screens sous lib et ajoutez login_screen.dart et signup_screen.dart.
Ajoutez un fichier nommé profile_service.dart sous lib/services/:
Ajoutez un fichier nommé profile.dart sous lib/models/:
Ajoutez un fichier nommé profile_screen.dart sous lib/screens/:
Ajoutez un fichier nommé post_service.dart sous lib/services/:
Ajoutez un fichier nommé post.dart sous lib/models/:
Modifier home_screen.dart sous lib/screens/:
Dans cette étape, nous allons mettre en œuvre des connexions d'amis entre les utilisateurs. Les utilisateurs peuvent envoyer des demandes d'amis, les accepter ou les rejeter, et consulter leur liste d'amis. Nous allons modifier les modèles de données, créer des services et mettre à jour l'interface utilisateur pour prendre en charge cette fonctionnalité.
Nous avons déjà créé la FriendRequest classe dans Back4App avec les colonnes suivantes :
- fromUser: Pointeur vers _User
- toUser: Pointeur vers _User
- status: Chaîne (Valeurs : "en attente", "accepté", "rejeté")
De plus, nous devons suivre la liste d'amis d'un utilisateur. Nous pouvons le faire en ajoutant une relation dans la classe _User.
- Dans Back4App, allez à la classe Utilisateur.
- Cliquez sur le "+" bouton pour ajouter une nouvelle colonne.
- Nommez la colonne "amis" et définissez le type sur Relation <_User>.
Créez un fichier nommé friend_service.dart sous lib/services/:
Créez un fichier nommé search_users_screen.dart sous lib/screens/:
Créez un fichier nommé friend_requests_screen.dart sous lib/screens/:
Dans home_screen.dart, ajoutez la navigation vers les écrans de recherche d'utilisateurs et de demandes d'amis :
Modifier le getPosts méthode dans post_service.dart pour récupérer les publications de l'utilisateur et de ses amis.
Dans cette étape, nous allons ajouter un messaging en temps réel entre les utilisateurs en utilisant les Live Queries.
- Dans le tableau de bord de votre application Back4App, allez à App Settings > Server Settings.
- Sous Server URL, notez votre URL de serveur (par exemple, https://YOUR_APP_NAME.back4app.io).
- Les Live Queries sont activées par défaut sur Back4App.
Le parse_server_sdk_flutter package inclut le support des Live Queries.
Créez un fichier nommé message_service.dart sous lib/services/:
Ajoutez un fichier nommé message.dart sous lib/models/:
Ajoutez un fichier nommé chat_screen.dart sous lib/screens/:
Vous pouvez initier le chat depuis la liste d'amis ou l'écran de recherche d'utilisateurs.
Dans la liste d'amis, lors de l'affichage des amis, ajoutez un bouton pour commencer un chat :
La mise en œuvre des notifications push implique la configuration de Firebase Cloud Messaging (FCM) et son intégration avec Back4App.
- Ajoutez une application Android et/ou iOS à votre projet.
- Pour Android, vous avez besoin du nom du package (applicationId).
- Pour iOS, vous avez besoin de l'identifiant de bundle.
- Pour Android : Téléchargez google-services.json et placez-le dans android/app/.
- Pour iOS : Téléchargez GoogleService-Info.plist et ajoutez-le à votre projet Xcode sous Runner.
Assurez-vous d'avoir ajouté firebase_messaging à votre pubspec.yaml:
Exécutez flutter pub get pour installer.
Modifier main.dart:
Créer un fichier nommé push_notification_service.dart sous lib/services/:
Dans main.dart, après avoir initialisé Parse, initialisez le PushNotificationService:
Vous pouvez envoyer des notifications push en utilisant Cloud Code ou directement depuis votre serveur.
Lorsqu'un utilisateur envoie une demande d'ami, vous pouvez envoyer une notification push au destinataire.
Dans friend_service.dart, modifiez la sendFriendRequest méthode :
Note: Assurez-vous d'avoir associé l'installation avec l'utilisateur.
Lorsqu'un utilisateur se connecte, associez son installation avec son compte utilisateur.
Dans auth_service.dart, après une connexion réussie :
Remarque: Les notifications push nécessitent une configuration supplémentaire à la fois du côté client et serveur. Vous devez gérer différents scénarios, tels que les notifications en arrière-plan et les autorisations des utilisateurs, qui dépassent le cadre de ce tutoriel.
Félicitations ! Vous avez construit les bases d'une application de réseau social en utilisant Flutter et Back4App. Cette application comprend l'authentification des utilisateurs, la gestion des profils et une fonctionnalité de fil d'actualités. Bien que la mise en œuvre de connexions d'amis complètes, de messagerie et de notifications dépasse le cadre de ce tutoriel, vous avez maintenant la structure nécessaire pour continuer à développer votre application.
- Connexions d'amis: Implémentez des fonctionnalités de demande d'amis.
- Messagerie: Ajoutez des fonctionnalités de chat en temps réel en utilisant les requêtes en direct.
- Notifications: Intégrez des notifications push pour l'engagement des utilisateurs.
- Améliorations de l'UI: Améliorez l'interface utilisateur et l'expérience utilisateur.
- Sécurité: Assurez la sécurité des données et la confidentialité en définissant des ACL appropriées dans Back4App.
Bon codage !