Skip to content

zimsendapi/documentation

Repository files navigation

📚 SMS Gateway - Documentation

Documentation professionnelle et complÚte pour la plateforme ZimSend, construite avec Docusaurus et intégrant Swagger UI pour l'API Reference.

🚀 DĂ©marrage Rapide

Prérequis

  • Node.js 20+
  • npm 10+

Installation

# Installer les dépendances
npm install

# Générer la documentation API depuis OpenAPI
npm run docusaurus gen-api-docs all

# Démarrer le serveur de développement
npm start

Le site de documentation sera accessible sur http://localhost:3000

Build Production

# Build pour la production
npm run build

# Servir le build localement
npm run serve

📁 Structure du Projet

documentation/
├── docs/                       # Fichiers de documentation
│   ├── intro.md               # Page d'introduction
│   ├── guides/                # Guides utilisateur
│   │   ├── quick-start.md
│   │   ├── installation.md
│   │   ├── first-sms.md
│   │   ├── authentication.md
│   │   └── webhooks.md
│   ├── architecture/          # Documentation architecture
│   │   ├── overview.md
│   │   ├── data-flow.md
│   │   ├── queue-system.md
│   │   ├── mqtt-broker.md
│   │   └── security.md
│   ├── android/               # Configuration Android
│   │   └── setup.md
│   ├── sdk/                   # SDKs et exemples
│   │   ├── overview.md
│   │   ├── nodejs/            # Node.js SDK
│   │   ├── python/            # Python SDK
│   │   └── php/               # PHP SDK
│   ├── webhooks/              # Documentation webhooks
│   │   └── events.md
│   ├── deployment/            # Guides de dĂ©ploiement
│   │   └── docker.md
│   ├── billing/               # Plans et tarification
│   │   ├── plans.md
│   │   └── rate-limits.md
│   ├── api/                   # API Reference (gĂ©nĂ©rĂ© automatiquement)
│   ├── troubleshooting.md     # Guide de dĂ©pannage
│   └── faq.md                 # FAQ
├── src/                       # Composants React personnalisĂ©s
│   ├── components/            # Composants Docusaurus
│   ├── css/                   # Styles personnalisĂ©s
│   └── pages/                 # Pages personnalisĂ©es
├── static/                    # Assets statiques
│   └── img/                   # Images et icînes
├── openapi.yaml              # SpĂ©cification OpenAPI 3.0
├── docusaurus.config.ts      # Configuration Docusaurus
├── sidebars.ts               # Configuration des sidebars
└── package.json              # DĂ©pendances npm

🎹 FonctionnalitĂ©s

✅ Documentation Complùte

  • 31+ fichiers de documentation en français
  • Architecture dĂ©taillĂ©e avec diagrammes ASCII
  • Guides pas Ă  pas pour tous les cas d'usage
  • Exemples de code en JavaScript, Python, PHP
  • Troubleshooting complet avec solutions

✅ API Reference Interactive

  • GĂ©nĂ©rĂ© automatiquement depuis openapi.yaml
  • Interface Swagger UI intĂ©grĂ©e
  • Essayer l'API directement depuis la doc
  • 33+ endpoints documentĂ©s
  • SchĂ©mas et modĂšles complets

✅ Support Multi-Langages

  • Français (par dĂ©faut)
  • Anglais (configurĂ©)
  • Facilement extensible pour d'autres langues

✅ Recherche Performante

  • Configuration Algolia DocSearch prĂȘte
  • Recherche dans toute la documentation
  • RĂ©sultats contextuels

✅ Thùme Moderne

  • Mode sombre/clair avec switch automatique
  • Responsive pour mobile, tablette, desktop
  • Navigation intuitive avec sidebar
  • Syntax highlighting pour 12+ langages

đŸ› ïž Scripts Disponibles

# Développement
npm start                           # Serveur de dev sur http://localhost:3000
npm run docusaurus gen-api-docs all # Générer l'API reference

# Production
npm run build                       # Build pour production
npm run serve                       # Servir le build localement
npm run clear                       # Nettoyer le cache

# Maintenance
npm run swizzle                     # Personnaliser les composants
npm run deploy                      # Déployer (configure selon plateforme)

📝 Éditer la Documentation

Ajouter une nouvelle page

  1. Créer un fichier .md ou .mdx dans docs/
  2. Ajouter le frontmatter:
    ---
    sidebar_position: 1
    title: Mon Titre
    ---
    
    # Mon Contenu
  3. Référencer dans sidebars.ts si nécessaire

Mettre Ă  jour l'API Reference

  1. Modifier openapi.yaml
  2. Regénérer la documentation API:
    npm run docusaurus gen-api-docs all
  3. Les fichiers dans docs/api/ seront mis Ă  jour automatiquement

Syntaxe Markdown Avancée

# Titre de niveau 1
## Titre de niveau 2

**Texte en gras**
*Texte en italique*

\```javascript
// Bloc de code avec syntax highlighting
const api = 'https://api.zimsend.com';
\```

:::tip Conseil
Utilisez des admonitions pour les notes importantes
:::

:::warning Attention
Messages d'avertissement
:::

:::danger Danger
Erreurs critiques
:::

:::info Information
Informations complémentaires
:::

🌐 Internationalisation

La documentation supporte le multi-langues. Pour ajouter une traduction:

# Créer les fichiers de traduction
npm run write-translations -- --locale en

# Traduire dans i18n/en/
# Démarrer avec la locale
npm run start -- --locale en

🚀 DĂ©ploiement

VPS avec Nginx (Recommandé)

Consultez le guide complet dans DEPLOYMENT.md

Déploiement rapide :

# 1. Build local
npm run build

# 2. Déployer avec le script
./deploy.sh user@votre-vps.com

# Ou manuellement avec rsync
rsync -avz --delete build/ user@votre-vps.com:/var/www/docs.zimsend.com/

Configuration Nginx :

# Sur le VPS
sudo cp nginx.conf.example /etc/nginx/sites-available/docs.zimsend.com
sudo ln -s /etc/nginx/sites-available/docs.zimsend.com /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx

# SSL avec Let's Encrypt
sudo certbot --nginx -d docs.zimsend.com

GitHub Actions (Déploiement automatique)

Le workflow .github/workflows/deploy.yml déploie automatiquement à chaque push sur main.

Configuration requise dans GitHub Secrets :

  • VPS_HOST : Adresse IP ou domaine du VPS
  • VPS_USERNAME : Nom d'utilisateur SSH
  • VPS_SSH_KEY : ClĂ© privĂ©e SSH
  • VPS_PORT : Port SSH (optionnel, dĂ©faut: 22)

GitHub Pages

# Configurer dans docusaurus.config.ts
organizationName: 'votre-org'
projectName: 'sms-gateway-docs'

# Déployer
GIT_USER=<votre-username> npm run deploy

Netlify / Vercel

# Build command
npm run build

# Publish directory
build

Docker

FROM node:20-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build
EXPOSE 3000
CMD ["npm", "run", "serve", "--", "--host", "0.0.0.0"]
docker build -t sms-gateway-docs .
docker run -p 3000:3000 sms-gateway-docs

📊 Statistiques de la Documentation

  • 31 fichiers de documentation
  • 33+ endpoints API documentĂ©s
  • 100+ exemples de code
  • 6 langages de programmation couverts (JS, TS, Python, PHP, Ruby, Go, Java)
  • 12 langages avec syntax highlighting
  • 5 sections principales
  • Support en Français et Anglais

đŸ€ Contribution

Pour contribuer Ă  la documentation:

  1. Fork le repository
  2. Créer une branche (git checkout -b feature/ma-doc)
  3. Éditer les fichiers dans docs/
  4. Tester localement (npm start)
  5. Commit (git commit -m 'Add: documentation xyz')
  6. Push (git push origin feature/ma-doc)
  7. Créer une Pull Request

📚 Ressources

📄 Licence

Cette documentation est sous licence MIT - voir LICENSE

🆘 Support


Construit avec ❀ par Abed Zim

About

ZimSend's documentation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published