🔗

LinkUp

Completed 2024 Architecture Microservices avec Conception API-First

LinkUp est une plateforme de médias sociaux complète qui permet aux utilisateurs de partager des vidéos et images, interagir via commentaires et likes, et s'engager dans un chat en temps réel. Construit avec NestJS et MongoDB, la plateforme offre une expérience similaire à YouTube/Instagram avec une authentification utilisateur robuste, des fonctionnalités de gestion de contenu et d'interaction sociale. Le système prend en charge à la fois l'authentification JWT et l'intégration Azure AD B2C pour les utilisateurs entreprise, Azure Blob Storage pour l'hébergement média scalable et la fonctionnalité de chat en temps réel basée sur WebSocket. Les fonctionnalités clés incluent le téléchargement et streaming vidéo/image, la génération de miniatures, la modération de contenu, le tableau de bord admin, la recherche et le filtrage, la pagination, le suivi des vues et une documentation API complète avec Swagger.

Développement Full-Stack Développement Web Développement Backend Ingénierie Logicielle DevOps Médias Sociaux Applications Temps Réel

Aperçu

LinkUp est une plateforme de médias sociaux complète qui permet aux utilisateurs de partager des vidéos et images, interagir via commentaires et likes, et s'engager dans un chat en temps réel. Construit avec NestJS et MongoDB, la plateforme offre une expérience similaire à YouTube/Instagram avec une authentification utilisateur robuste, des fonctionnalités de gestion de contenu et d'interaction sociale. Le système prend en charge à la fois l'authentification JWT et l'intégration Azure AD B2C pour les utilisateurs entreprise, Azure Blob Storage pour l'hébergement média scalable et la fonctionnalité de chat en temps réel basée sur WebSocket. Les fonctionnalités clés incluent le téléchargement et streaming vidéo/image, la génération de miniatures, la modération de contenu, le tableau de bord admin, la recherche et le filtrage, la pagination, le suivi des vues et une documentation API complète avec Swagger.

Fonctionnalités clés

Téléchargement et streaming vidéo

Téléchargement et partage d'images

Chat en temps réel avec WebSocket

Système de commentaires avec likes

Authentification utilisateur (JWT + Azure AD B2C)

Recherche et filtrage

Tableau de bord admin pour la modération de contenu

Azure Blob Storage pour les fichiers média

Génération de miniatures vidéo

Suivi des vues avec limitation de débit

Contrôle d'accès basé sur les rôles

Pagination et défilement infini

Vérification par email

Profils utilisateur avec avatars

Documentation API Swagger

Principales fonctionnalités

Implémentation du backend NestJS avec MongoDB pour une plateforme de médias sociaux scalable

Intégration d'Azure Blob Storage pour un stockage efficace de fichiers média basé sur le cloud

Développement d'un système de chat en temps réel utilisant la passerelle WebSocket Socket.io

Construction d'une gestion complète vidéo et image avec téléchargement, streaming et métadonnées

Implémentation de l'authentification JWT avec intégration Azure AD B2C pour les utilisateurs entreprise

Création d'un système de modération de contenu avec tableau de bord admin et contrôle d'accès basé sur les rôles

Défis et solutions

Téléchargements de Fichiers Volumineux

Gestion de fichiers vidéo/image volumineux en utilisant Azure Blob Storage, Multer pour la gestion de fichiers et augmentation des limites du parseur de corps pour les téléchargements en streaming

Implémentation du Chat en Temps Réel

Implémentation de la communication en temps réel basée sur WebSocket en utilisant Socket.io avec authentification JWT et messagerie basée sur les salles

Traitement Média

Intégration de FFmpeg pour la génération de miniatures vidéo et traitement en arrière-plan avec Azure Blob Storage

Précision du Suivi des Vues

Implémentation de l'empreinte IP et limitation de débit basée sur le cache pour empêcher la manipulation du nombre de vues

Intégration Azure AD B2C

Intégration de l'authentification entreprise Azure AD B2C en utilisant la bibliothèque MSAL Node.js avec flux OAuth 2.0/OpenID Connect

Technologies

Backend Framework

NestJS 9.4.2 TypeScript Node.js

Database

MongoDB Mongoose 7.2.2

Authentication

JWT Azure AD B2C @azure/msal-node

Real-time

Socket.io 4.6.2 WebSocket

Cloud Storage

Azure Blob Storage @azure/storage-blob

Media Processing

FFmpeg fluent-ffmpeg

Frontend

Express Handlebars

Infrastructure

Docker Docker Compose

Informations du projet

Statut
Completed
Année
2024
Architecture
Architecture Microservices avec Conception API-First
Category
Développement Full-Stack