🔗

LinkUp

Completed 2024 • Microservices Architecture with API-First Design

LinkUp is a full-featured social media platform that enables users to share videos and images, interact through comments and likes, and engage in real-time chat. Built with NestJS and MongoDB, the platform provides a YouTube/Instagram-like experience with robust user authentication, content management, and social interaction features. The system supports both JWT authentication and Azure AD B2C integration for enterprise users, Azure Blob Storage for scalable media hosting, and real-time WebSocket-based chat functionality. Key features include video/image upload and streaming, thumbnail generation, content moderation, admin dashboard, search and filtering, pagination, view tracking, and comprehensive API documentation with Swagger.

Full-Stack Development Web Development Backend Development Software Engineering DevOps Social Media Real-time Applications

Overview

LinkUp is a full-featured social media platform that enables users to share videos and images, interact through comments and likes, and engage in real-time chat. Built with NestJS and MongoDB, the platform provides a YouTube/Instagram-like experience with robust user authentication, content management, and social interaction features. The system supports both JWT authentication and Azure AD B2C integration for enterprise users, Azure Blob Storage for scalable media hosting, and real-time WebSocket-based chat functionality. Key features include video/image upload and streaming, thumbnail generation, content moderation, admin dashboard, search and filtering, pagination, view tracking, and comprehensive API documentation with Swagger.

Key Features

✓

Video upload and streaming

✓

Image upload and sharing

✓

Real-time chat with WebSocket

✓

Comments system with likes

✓

User authentication (JWT + Azure AD B2C)

✓

Search and filtering

✓

Admin dashboard for content moderation

✓

Azure Blob Storage for media files

✓

Video thumbnail generation

✓

View tracking with rate limiting

✓

Role-based access control

✓

Pagination and infinite scroll

✓

Email verification

✓

User profiles with avatars

✓

Swagger API documentation

Technical Highlights

⚡

Implemented NestJS backend with MongoDB for scalable social media platform

⚡

Integrated Azure Blob Storage for efficient cloud-based media file storage

⚡

Developed real-time chat system using Socket.io WebSocket gateway

⚡

Built comprehensive video and image management with upload, streaming, and metadata

⚡

Implemented JWT authentication with Azure AD B2C integration for enterprise users

⚡

Created content moderation system with admin dashboard and role-based access control

Challenges and Solutions

Large File Uploads

Handled large video/image files using Azure Blob Storage, Multer for file handling, and increased body parser limits for streaming uploads

Real-time Chat Implementation

Implemented WebSocket-based real-time communication using Socket.io with JWT authentication and room-based messaging

Media Processing

Integrated FFmpeg for video thumbnail generation and background processing with Azure Blob Storage

View Tracking Accuracy

Implemented IP-based fingerprinting and cache-based rate limiting to prevent view count manipulation

Azure AD B2C Integration

Integrated Azure AD B2C enterprise authentication using MSAL Node.js library with OAuth 2.0/OpenID Connect flow

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

Project Information

Status
Completed
Year
2024
Architecture
Microservices Architecture with API-First Design
Category
Full-Stack Development