Guide rapide de déploiement
Suivez ces étapes pour lancer Foro Redención en local et valider l'expérience complète (frontend + fonctions serverless).
Prérequis
- Node.js 18+ et npm à jour.
- Expo CLI (
npm install -g expo). - Projet Firebase configuré (Auth + Firestore + FCM).
- Compte OneSignal avec l'ID d'application (
oneSignalAppIddansapp.config.js).
Configuration locale
- Ouvrez
app/foroet exécuteznpm install. - Copiez votre
google-services.jsondansandroid/app. - Mettez à jour
src/lib/firebase.jsavec les identifiants du projet. - Lancez
npx expo startet scannez le QR avec Expo Go.
Variables importantes
ANDROID_GOOGLE_SERVICES_JSON: chemin alternatif pour les builds automatisés.EXPO_PUBLIC_FIREBASE_*: variables publiques pour initialiser Firebase.oneSignalAppId: défini dansapp.config.js(sectionextra).
Commandes essentielles
| Commande | Description |
|---|---|
npx expo start |
Démarre l'application en mode développement (Android/iOS/Web). |
npx expo run:android |
Génère une build native Android. |
node api/news.js |
Teste l'endpoint news en local avec vercel dev ou node. |
node api/send-fcm-push.js |
Simule l'envoi de push (nécessite FIREBASE_SERVICE_ACCOUNT). |
Tests et vérification
Avant toute publication :
- Lancez
npx expo start --webpour valider les deep-links et l'auth sur navigateur. - Utilisez des appareils physiques ou émulateurs pour tester les notifications push.
- Vérifiez les règles Firestore avec le simulateur pour posts, articles et messages.
Dépannage rapide
- Notifications muettes : assurez-vous que le son est activé dans OneSignal et que l'appareil n'est pas en mode silencieux.
- Erreur 401 : contrôlez que le token Firebase ID est envoyé dans
Authorization: Bearer. - Build Android en échec : vérifiez la présence de
android/app/google-services.jsonet la correspondance du package.
Bonnes pratiques
- Gardez Expo/React Native alignés sur la version 53.
- Enregistrez les tokens FCM après authentification via
registerFcmToken. - Configurez des règles Firestore restreignant lecture/écriture aux membres.
- Désactivez les logs OneSignal avant la mise en production.