Skip to content

LibenHailu/social-media

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

38 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

SOCIAL-MEDIA

Connect, Share, Engage: Transform Your Social Experience


πŸ›  Built with the tools and technologies:

Overview

This project is a distributed social media application project, with event driven architecture.

Core functionaries include

  • πŸš€ Distributed Architecture: Supports scalability and resilience.
  • πŸ“˜ Event-Driven Design: Facilitates real-time interactions, enhancing user engagement and responsiveness.
  • ☁️ Microservices Deployment with Kubernetes: Simplifies management and orchestration of services.
  • πŸ› οΈ Health Monitoring with Heartbeat: Ensures system reliability by continuously checking service health.
  • πŸ“Š Centralized Logging with Elasticsearch: observability and debugging capabilities, making it easier to track issues.
  • πŸ’¬ Real-Time Messaging with WebSockets: Provides instant messaging features, crucial for social media applications.

Kubernetes

  • The sm-k8s folder contains the objects code needed to deploy the microservices to kubernetes.
  • The microservices are deployed to both Minikube and AWS EKS Cluster.

Server

  • The server folder contains all the backend code for the application's services.
  • The services can be started either individually from the terminal or via docker compose.

Volumes

  • The volumes folder contains files that are used to run services for local development.
  • Volumes README file

Installation

Build social-media from the source and install dependencies:

  1. Clone the repository:
    git clone https://github.com/LibenHailu/social-media
  2. Navigate to social-media directory:
    cd social-media
    

Running Locally

  • To start the services locally, you need to first start the required services inside the docker compose file.

  • redis

    • docker compose up -d redis
  • mongodb

    • docker compose up -d mongodb
  • mysql

    • docker compose up -d mysql
  • rabbitmq

    • docker compose up -d redis
  • elasticsearch

    • docker compose up -d elasticsearch
  • Volumes README file

Please start the microservices.

  • follow service
  • reaction service
  • chat service
  • post service
  • users service
  • auth service
  • notification service
  • Before you start the gateway service, make sure all other services are running without errors.

Running

Navigate to each service folder.

npm run dev

Running with docker

docker compose up -d follow reaction chat post users auth notification 

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published