Plateforme SaaS open source de gestion et d'automatisation des publications sur les réseaux sociaux
Incubé par Kether Labs — Structurer · Pérenniser · Transmettre
PostFlow.io est un mono repo avec deux équipes complètement indépendantes. Chaque équipe a son propre environnement, ses propres outils, et son propre guide.
|
Next.js · TypeScript · Tailwind · shadcn/ui Tu travailles sur l'interface utilisateur.
|
Spring Boot 3 · Java 17 · PostgreSQL · Redis Tu travailles sur l'API REST et le scheduler.
|
Nouveau contributeur ? Lis ce README en entier puis consulte le CONTRIBUTING.md avant de choisir ton équipe.
PostFlow.io permet aux créateurs de contenu, freelancers et agences marketing de centraliser, planifier et automatiser leurs publications sur plusieurs réseaux sociaux depuis un seul tableau de bord.
Le problème : publier sur plusieurs réseaux impose de dupliquer les contenus, d'adapter les formats, de gérer plusieurs comptes en parallèle, et de risquer des oublis ou une irrégularité.
La solution : un SaaS simple et puissant qui automatise tout ça.
C'est le point le plus important à comprendre avant de commencer.
Équipe Frontend Équipe Backend
────────────────────── ──────────────────────
Next.js sur localhost:3000 Spring Boot déployé en ligne
│ │
│ Phase 1 — Backend pas encore │
│ déployé │
│ NEXT_PUBLIC_USE_MOCK=true │
│ → données fictives locales │
│ → aucune dépendance backend │
│ │
│ Phase 2 — API déployée │
│ NEXT_PUBLIC_USE_MOCK=false │
│ API_URL=https://api.postflow.io ───┘
│
↓
Chaque équipe avance à son rythme
sans jamais attendre l'autre
L'équipe frontend utilise des mocks — des données fictives qui simulent
exactement les réponses que le backend renverra.
Un seul changement dans .env.local pour basculer plus tard :
# Mode mock — aucun backend nécessaire
NEXT_PUBLIC_USE_MOCK=true
# Mode API réelle — quand le backend est déployé
NEXT_PUBLIC_USE_MOCK=false
NEXT_PUBLIC_API_URL=https://api.postflow.ioL'équipe backend déploie l'API sur un serveur accessible à toute l'équipe.
L'équipe frontend change USE_MOCK=false et pointe vers l'URL de l'API.
Aucun autre changement de code nécessaire.
PostFlow.io
├── frontend/ Next.js 15 · TypeScript · Tailwind CSS
│ shadcn/ui · TanStack Query · Zustand
│ React Hook Form · Zod · Vitest
│
├── backend/ Spring Boot 3 · Java 17 · Maven
│ Spring Security · JWT · JPA/Hibernate
│ Architecture DDD (Domain Driven Design)
│ Redis · Scheduler asynchrone
│
└── infrastructure/ PostgreSQL 15 · Redis · Docker Compose
Nginx · Stockage S3-compatible
GitHub Actions CI/CD
postflow-io/ ← Racine du mono repo
│
├── frontend/ ← Application Next.js
│ ├── src/
│ │ ├── app/ ← Pages (App Router)
│ │ ├── components/
│ │ │ ├── ui/ ← Composants shadcn/ui
│ │ │ └── features/ ← Composants par domaine métier
│ │ │ ├── auth/
│ │ │ ├── posts/
│ │ │ ├── social/
│ │ │ └── dashboard/
│ │ ├── services/ ← Appels API (mock ou réel)
│ │ ├── mocks/ ← Données fictives de développement
│ │ ├── store/ ← État global Zustand
│ │ ├── hooks/ ← Hooks React partagés
│ │ └── config/env.ts ← Variables d'environnement centralisées
│ └── README.md ← Guide complet Frontend
│
├── backend/ ← Application Spring Boot
│ └── src/main/java/io/postflow/
│ ├── identity/ ← Domaine Authentification
│ ├── user/ ← Domaine Utilisateur
│ ├── social/ ← Domaine Réseaux Sociaux
│ ├── post/ ← Domaine Posts
│ ├── scheduling/ ← Domaine Planification
│ ├── media/ ← Domaine Médias
│ ├── ai/ ← Domaine IA
│ └── billing/ ← Domaine Facturation
│ └── README.md ← Guide complet Backend
│
├── docker/ ← Configuration Docker
│ ├── docker-compose.yml ← Production
│ └── docker-compose.dev.yml ← Développement local
│
├── docs/ ← Documentation globale
│ ├── api-reference.md ← Contrats d'API frontend ↔ backend
│ ├── environment-variables.md ← Toutes les variables
│ └── getting-started.md
│
├── .github/
│ ├── workflows/ ← CI/CD GitHub Actions
│ └── ISSUE_TEMPLATE/
│
├── CONTRIBUTING.md
└── README.md
✅ Prérequis uniquement : Node.js 18+ et pnpm 8+ ❌ Java, Maven, Docker — non requis pour le frontend
# 1. Cloner le repo
git clone https://github.com/Kether-Labs/PostFlow.io.git
cd PostFlow.io/frontend
# 2. Installer les dépendances
pnpm install
# 3. Configurer l'environnement
cp .env.example .env.localLe fichier .env.local est préconfiguré en mode mock :
# .env.local — configuration par défaut
NEXT_PUBLIC_USE_MOCK=true # ← données fictives, pas besoin de backend
NEXT_PUBLIC_API_URL=http://localhost:8080
NEXT_PUBLIC_APP_NAME=PostFlow.io# 4. Lancer le frontend
pnpm dev🎉 Frontend accessible sur http://localhost:3000
En mode mock tu peux te connecter avec n'importe quel email et mot de passe — les credentials ne sont pas vérifiés.
✅ Prérequis : Java 17+, Maven 3.8+, Docker ❌ Node.js, pnpm — non requis pour le backend
# 1. Cloner le repo
git clone https://github.com/Kether-Labs/PostFlow.io.git
cd PostFlow.io
# 2. Démarrer PostgreSQL et Redis
docker-compose -f docker/docker-compose.dev.yml up -d
# 3. Configurer l'environnement
cd backend
cp src/main/resources/application-example.yml \
src/main/resources/application-dev.yml
# Remplir les variables dans application-dev.yml
# 4. Lancer le backend
mvn spring-boot:run -Dspring-boot.run.profiles=dev🎉 API accessible sur http://localhost:8080
# Vérifier que l'API tourne
curl http://localhost:8080/api/health
# {"status": "ok", "service": "PostFlow API"}Responsabilité de l'équipe backend : Une fois l'API stable, la déployer sur un serveur accessible à toute l'équipe pour que le frontend puisse basculer de
USE_MOCK=trueversUSE_MOCK=false.
| Feature | Équipe | Status |
|---|---|---|
| Setup mono repo | Les deux | ✅ Fait |
| Authentification JWT | Backend | 🔄 En cours |
| Pages login / register | Frontend | 🔄 En cours |
| OAuth LinkedIn + Twitter | Backend | 📋 Planifié |
| Connexion réseaux côté UI | Frontend | 📋 Planifié |
| Création et planification posts | Les deux | 📋 Planifié |
| Dashboard simple | Frontend | 📋 Planifié |
| Gestion des images | Backend | 📋 Planifié |
- Facebook + Instagram
- Assistance IA — génération de contenu
- Gestion vidéo
- Calendrier éditorial
- Multi-workspace et collaboration
- Analytics avancés
- Templates de posts
- IA avancée
Le schéma est géré exclusivement par l'équipe backend.
Les devs frontend n'ont pas besoin de connaître la structure
de la base de données — ils interagissent uniquement avec les
endpoints API documentés dans docs/api-reference.md.
| Schéma | Lien |
|---|---|
| Schéma global | Voir sur dbdiagram.io → |
| Schéma MVP | Voir sur dbdiagram.io → |
1. Lire le CONTRIBUTING.md
2. Choisir une issue avec le label "good first issue"
3. Commenter : "Je prends cette tâche !"
4. Créer sa branche :
feature/frontend/nom ← pour le frontend
feature/backend/nom ← pour le backend
5. Coder, tester, documenter
6. PR vers develop avec : Closes #numéro
👉 Guide de contribution complet →
| Document | Pour qui | Description |
|---|---|---|
| Guide Frontend | Devs Frontend | Installation, mocks, commandes |
| Guide Backend | Devs Backend | Installation, DDD, déploiement API |
| CONTRIBUTING.md | Tout le monde | Workflow Git, issues, PR |
| Référence API | Les deux équipes | Contrats d'API documentés |
| Variables d'environnement | Les deux équipes | Toutes les variables |
Ce projet est sous licence MIT. Voir le fichier LICENSE pour les détails.
Construit avec ❤️ par la communauté Kether Labs
GitHub · CONTRIBUTING · Signaler un bug
Structurer · Pérenniser · Transmettre