Skip to content

AbdulRehman-z/instagram-microservices-golang

Repository files navigation

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

About

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

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •