Flow est une plateforme de réseau social moderne construite avec Next.js, offrant une expérience similaire à Twitter avec des fonctionnalités avancées comme les stories, la messagerie en temps réel, et un système de premium.
- Publications (Tweets) - Partagez vos pensées avec texte, images et vidéos
- Système de commentaires - Répondez et engagez-vous avec la communauté
- Stories temporaires - Partagez des moments éphémères (24h)
- Messagerie privée - Conversations en temps réel entre utilisateurs
- Système de suivi - Suivez vos utilisateurs préférés
- Notifications en temps réel - Restez informé des interactions
- Hashtags et mentions - Organisez et taguez vos contenus
- Mode sombre/clair - Interface adaptative
- Tweets illimités - Plus de limite quotidienne
- Badge certifié - Statut premium visible
- Fonctionnalités exclusives - Accès anticipé aux nouvelles features
- Connexion classique - Email/mot de passe
- Profils personnalisables - Photos de profil et bannières
- Frontend: Next.js 15, TypeScript
- Styling: Tailwind CSS, Mode sombre
- Base de données: Supabase (PostgreSQL)
- Authentification: Supabase Auth
- Stockage: Supabase Storage
- Paiements: Stripe (Premium)
- Temps réel: Supabase Realtime
- Déploiement: Vercel
- Node.js 18+
- npm, yarn, pnpm ou bun
- Compte Supabase
- Compte Stripe (pour les paiements)
- Cloner le repository
git clone https://github.com/LouisMbc/twitter-like.git
cd twitter-like- Installation des dépendances
Choisissez votre gestionnaire de packages préféré :
Avec npm :
npm installAvec yarn :
yarn installAvec pnpm :
pnpm installAvec bun :
bun install
⚠️ Important : Assurez-vous d'utiliser le même gestionnaire de packages tout au long du projet pour éviter les conflits.
Vérifier l'installation :
# Vérifier que toutes les dépendances sont installées
npm list --depth=0
# ou
yarn list --depth=0- Variables d'environnement
Créez un fichier
.env.local:
# Supabase
NEXT_PUBLIC_SUPABASE_URL=votre_url_supabase
NEXT_PUBLIC_SUPABASE_ANON_KEY=votre_cle_publique
SUPABASE_SERVICE_ROLE_KEY=votre_cle_service
# Stripe
STRIPE_SECRET_KEY=votre_cle_secrete_stripe
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=votre_cle_publique_stripe
STRIPE_PREMIUM_PRICE_ID=votre_price_id_premium
# App
NEXT_PUBLIC_APP_URL=http://localhost:4000- Configuration Supabase
- Créez un nouveau projet Supabase
- Configurez les tables nécessaires (Profile, Tweets, Comments, etc.)
- Activez l'authentification et les providers OAuth
- Configurez les buckets de stockage
npm run devOuvrez http://localhost:4000 dans votre navigateur.
npm run build
npm startsrc/
├── app/ # App Router (Next.js 13+)
│ ├── auth/ # Pages d'authentification
│ ├── dashboard/ # Tableau de bord principal
│ ├── profile/ # Gestion des profils
│ ├── messages/ # Messagerie
│ ├── tweets/ # Gestion des tweets
│ └── premium/ # Fonctionnalités premium
├── components/ # Composants réutilisables
│ ├── shared/ # Composants partagés
│ ├── tweets/ # Composants liés aux tweets
│ ├── profile/ # Composants de profil
│ ├── stories/ # Composants des stories
│ └── comments/ # Système de commentaires
├── hooks/ # Hooks React personnalisés
├── services/ # Services et API
│ └── supabase/ # Client et services Supabase
├── lib/ # Utilitaires et configuration
└── types/ # Définitions TypeScript
npm run dev- Mode développementnpm run build- Build de productionnpm run start- Serveur de productionnpm run lint- Vérification du code
- Notifications instantanées
- Messages en direct
- Mise à jour des compteurs
- Optimisation des images avec Next.js
- Lazy loading des composants
- Cache intelligent
- Authentification sécurisée
- Protection CSRF
- Validation des données côté serveur
- Fork le projet
- Créez votre branche (
git checkout -b feature/nouvelle-fonctionnalite) - Committez vos changements (
git commit -m 'Ajout nouvelle fonctionnalité') - Push vers la branche (
git push origin feature/nouvelle-fonctionnalite) - Ouvrez une Pull Request
Flow a été créé par une équipe de développeurs passionnés :
- Ismail Abou-zaid - Développeur Frontend
- Paul Bellanger -
- Alexandre Peltier - Concepteur de la maquette (Figma)
- Louis Malbec - LouisMbc - Développeur Backend
Pour toute question ou problème :
- Ouvrez une issue
- Contactez l'équipe de développement
Consultez les releases pour les dernières mises à jour et changements.
Flow - Connectez-vous aux conversations qui comptent vraiment. 🌊
