Les meilleurs administrateurs SGBD freelances sont sur Codeur.com

API NextJS / Websocket / PostgreSQL / TEI

 Ouvert · 10 000 € et plus · 55 offres · 970 vues · 24 interactions


Développement Backend NestJS & Intégration Frontend React pour Plateforme d'Édition Numérique Collaborative (TEI, Manuscrits, Folio etc)

Nous recherchons un développeur backend confirmé (ou un binôme backend/frontend) pour finaliser l'API serveur et connecter notre application frontend existante à celle-ci. Le projet consiste à déployer un backend NestJS/PostgreSQL robuste, supportant un système de révision complexe, une collaboration temps réel (WebSockets), et la gestion de contenus structurés au format XML TEI.

Le frontend, déjà développé en React JS avec Sass pour le style, il est actuellement connecté à des mocks via Postman. Il devra être adapté et branché sur l'API fonctionnelle, avec une gestion propre des états, des erreurs et des flux temps réel. Une collection Postman complète est fournie en amont pour accélérer la phase d'intégration et de tests.

STACK TECHNIQUE :
- Backend : NestJS (TypeScript), TypeORM/Prisma (au choix du développeur, à justifier)
- Base de données : PostgreSQL
- Frontend : React JS + Sass (code existant, à connecter à l'API)
- Conteneurisation : Docker Compose unique (développement & déploiement)
- Authentification : JWT (Bearer Token) + Refresh Token
- Temps réel : WebSockets (Socket.io)
- Format de données : JSON par défaut, XML pour les payloads TEI
- Mocking : Collection Postman fournie (simule la majorité des endpoints et réponses sauf websocket)
- Identifiants : UUID v4 | Date : ISO 8601 UTC

PÉRIMÈTRE DU TRAVAIL & LIVRABLES
Le prestataire devra réaliser les livrables suivants :
1. API Backend complète (NestJS/PostgreSQL) avec tous les endpoints spécifiés.
2. Intégration & Adaptation du Frontend : Modification du code React/Sass existant pour consommer l'API réelle (remplacement des mocks, gestion des appels HTTP, gestion des erreurs, hooks React, support WebSockets).
3. Tests & Qualité : Couverture de tests unitaires et tests fonctionnels/intégration (backend + points critiques du frontend).
4. Infrastructure : docker-compose.yml fonctionnel, schéma DB (migrations), documentation API (Swagger/OpenAPI).
5. Guide d'intégration : Instructions claires pour le déploiement et la connexion frontend/backend.

FONCTIONNALITÉS BACKEND CLÉS
1. Authentification, Autorisation & Partage
- Inscription, connexion, refresh token, réinitialisation de mot de passe.
- RBAC complet : Rôles, permissions, capacités organisationnelles.
- Sessions éphémères pour les folios (durée configurable) + partage par email avec token de récupération.
- Authentification WebSocket via session_token.

2. Gestion de Contenu & Révisions
- Hiérarchie : Traditions vers Manuscrits vers Folios.
- Système de révision : Brouillons, activation, publication, historique parent-enfant, visibilité (public/private/organization).
- CRUD standard + mises à jour partielles via JSON Patch (RFC 6902).
- Endpoint de comparaison de manuscrits (intégration workflow Python/CollateX).

3. Collaboration Temps Réel (WebSockets)
- Sessions live pour édition collaborative.
- Événements : join, take_control, présence, erreurs.
- Stratégie de résolution de conflits définie et implémentée côté serveur.

4. TEI, Médias & IIIF
- Stockage/édition de contenus TEI (transcription, traduction, commentaires) avec compression brotli.
- Upload média, métadonnées, formats multiples.
- Serveur d'images IIIF (node-iiif) pour zoom/navigation sur fac-similés.

QUALITÉ, TESTS & INTÉGRATION FRONTEND
- Tests Backend : Couverture unitaire et d'intégration (Jest ou équivalent). Scénarios couvrant auth, RBAC, révisions, WebSockets et gestion d'erreurs.
- Tests Fonctionnels : Validation des parcours critiques (inscription vers création vers révision vers publication vers partage).
- Adaptation Frontend :
* Remplacement des appels mocks par la vraie API.
* Gestion centralisée des états de chargement, erreurs API et reconnexion WebSockets.
* Harmonisation des types TypeScript avec les réponses backend.
* Respect des conventions Sass existantes (aucun refactor style majeur requis, uniquement l'intégration fonctionnelle).
* La collection Postman fournie servira de référence pour les tests et la validation des payloads.

ARCHITECTURE & CONVENTIONS
- API RESTful : Base path /, pagination standard (page/limit), réponses paginées structurées.
- Erreurs unifiées : Format JSON { error: { code, message, details } } avec codes HTTP appropriés.
- Schéma DB : Tables principales + tables de révision dédiées, tables de jonction pour relations Many-to-Many, indexation optimisée.
- Sécurité : Hashage mots de passe, validation/sanitisation des entrées, CORS configuré, sandboxing pour les appels Python.
- Performance : Compression TEI, pagination efficace, caching sur endpoints lourds (ex: résumés).

CRITÈRES D'ÉVALUATION
Nous privilégierons les candidatures démontrant :
- Maîtrise avancée de NestJS et PostgreSQL.
- Expérience concrète sur des systèmes de révision/versioning et de collaboration temps réel.
- Capacité à connecter et adapter un frontend React existant à une API backend (gestion d'état, hooks, WebSockets).
- Bonne pratique des tests unitaires et fonctionnels.
- Connaissance du standard TEI et de l'API IIIF est un plus.
- Clarté dans l'architecture proposée et la stratégie de gestion des conflits temps réel.

COMMENT POSTULER
Merci de joindre à votre proposition :
1. Votre expérience pertinente (liens vers projets similaires, GitHub ou portfolio).
2. Une estimation du temps de développement par phase (Backend, Tests, Intégration Frontend, Recette).
3. Votre tarif (journalier ou forfaitaire) et disponibilité.
4. Réponse à la question technique : Quelle approche préconisez-vous pour la gestion des conflits d'édition collaborative sur les folios (ex: CRDT, OT, locking optimiste/pessimiste) et comment l'intégrerez-vous dans l'architecture NestJS/WebSocket ?

Budget indicatif : 10 000 € et plus

Publication : 11 mai 2026 à 14h42

Profils recherchés : Expert BDD freelance , Développeur Node.js freelance , Développeur back-end freelance , Développeur API freelance , Développeur React freelance

Le profil du client est reservé aux prestataires abonnés

Créer un compte

55 freelances ont répondu à ce projet

55 propositions de devis en moins de 2h

Emilien Jourdan Agence de développement web
Herve Bansay Développeur blockchain
Michaël Baron Agence de développement mobile
Claude Menye Tsala Développeur Machine Learning
Hugo Battoue Agence développement spécifique
Yatma Gueye Agence web
Codes Castle Agence de développement web
+48

Montant moyen des devis proposés : 19 500 €

Estimation du délai : 25 jours

Publier un projet similaire

Chaque jour, des centaines de clients utilisent Codeur.com pour trouver un prestataire. Créez votre compte dès maintenant, remplissez votre profil et trouvez de nouveaux clients.

Trouver des nouveaux clients