GetLink Backend

GetLink Backend

A secure and scalable Go backend for seamless cross-device link, file, and message sharing using WhatsApp, Telegram, WebSockets, PostgreSQL, and Redis.

Golang
Redis
PSQL
Websocket
Gorilla Mux

Project Overview

The Get Link Backend is a high-performance Go (Golang)-based server designed to support real-time, secure link and file sharing across mobile and desktop devices. Built using Gorilla Mux, PostgreSQL, Redis, and WebSockets, the backend powers the Get Link Chrome Extension and Android App, providing seamless integration with WhatsApp and Telegram for cross-platform communication. This RESTful API service facilitates real-time link syncing, file transfers, and instant messaging between devices. WebSocket support ensures low-latency updates for connected clients, while Redis handles fast in-memory data operations and session management. With robust security, structured logging via Zap, and token-based JWT authentication, the backend is optimized for performance, security, and scalability. The backend is structured to handle a variety of routes including file upload/download, link management, real-time socket connections, and third-party messaging service integrations.

Gallery

GetLink Backend screenshot 1

Key Features

Feature

Real-time link and message sharing across devices using WebSockets, WhatsApp, and Telegram

Feature

Secure file upload, download, and management via RESTful APIs

Feature

JWT-based authentication with middleware for logging, panic handling, and request validation

Feature

High-performance backend powered by Go, PostgreSQL, and Redis for fast and reliable operations

Challenges & Solutions

Challenge

Challenge

Managing and syncing real-time WebSocket connections reliably

Challenge

Challenge

Handling asynchronous message delivery between devices and services

Challenge

Challenge

Managing multi-source link storage and retrieval efficiently

Challenge

Challenge

Using less memory for encryption and decryption of files

Challenge

Challenge

Adding queue when multiple requests come to download large files to avoid OOM

Project Snapshot

My Role

Backend Engineer

Timeline

1 Year

User Base

400+ MAU

Team

Raunit Verma

Core Technologies

Golang
Redis
PSQL
Websocket
Gorilla Mux