GO Followers — Social Graph Service
A Go microservice with Neo4j and Docker for managing user-following relationships.
Tech Stack
Overview
A backend microservice written in Go that models and manages user-following relationships using a Neo4j graph database. Built as part of a Service-Oriented Architecture (SOA) team project (Team 36), the service is containerized with Docker and exposes an API for creating and querying follower/following connections between users — a pattern common in social platforms.
01 — The Problem
Efficiently modeling social graph data (who follows whom) in a way that scales well and allows fast relationship queries — something relational databases handle poorly at scale due to expensive recursive JOIN operations.
02 — The Solution
Chose Neo4j as a graph database to natively represent user nodes and follow edges. Wrapped the service in Go for performance and containerized it with Docker for easy deployment within the broader SOA architecture. The service exposes clean REST endpoints for follow, unfollow, and relationship queries.
03 — The Outcome
A production-style microservice that integrates cleanly into a larger SOA system, demonstrating knowledge of graph databases, Go backend development, Docker containerization, and service-oriented design principles.