github.com/AbdulRehman-z/instagram-microservices/likes_service

Implementation of Instagram backend using microservices architecture and redis-streams as message broker.


Keywords
golang, message-broker, microservices-architecture, nginx, postgresql, redis-streams
Install
go get github.com/AbdulRehman-z/instagram-microservices/likes_service

Documentation

Instagram Microservices

This is a sample project to demonstrate how to build a project using microservices architecture. In this project i use Golang as the main programming language and PostgreSQL as the main database. I also use Docker and Docker Compose to run the services. Redis-stream is used as the message broker. Nginx is used as the API Gateway and Reverse Proxy. SMTP is used to send email for user verification.

Technologies

Services

  • Nginx: API Gateway and Reverse Proxy
  • auth_service: handles user authentication and authorization
  • post_service: handles posts
  • account_service: handles creating account for users
  • comment_service: handles comments for posts
  • like_service: handles likes for posts & comments
  • user-profile_service: handles user profile
  • followers_service: handles followers for users

How to run

Prerequisites

Steps

  1. Clone the repository
git clone 
  1. Run the following command to start the services
docker-compose up -d
  1. Run the following command to stop the services
docker-compose down