Microservices crafted to construct a Twitter-like platform. Each microservice is responsible for distinct functionalities, and communication is facilitated using RabbitMQ, functioning as the event bus.
-
User Service:
- Using Java Spring boot
- Handles user registration, authentication, and profile management.
-
Tweet Service:
- Using Python (Flask)
- Manages the creation, retrieval, and deletion of tweets.
-
Timeline Service: -
- Python (Flask)
- Aggregates and serves personalized timelines for users.
-
Follow Service: -
- Using GO Lang
- Manages relationships between users, including following and followers.
-
Gateway Service: -
- Acts as an API gateway, routing requests to appropriate microservices and handling authentication.
-
Fanout Service: -
- Manages subscriptions and broadcasts events to subscribers.
- Programming Languages: Java, Python, Go
- Databases: MariaDB
- Event Bus: RabbitMQ
- [Link to User Service API Documentation]
- Link to Tweet Service API Documentation
- [Link to Timeline Service API Documentation]
- [Link to Follow Service API Documentation]
- [Link to Gateway Service API Documentation]
- [Link to Fanout Service API Documentation]
- Link to Comment Service API Documentation
- docker-compose up -d
- kubectl apply -f kube_man.yaml
- kubectl apply -f service.yaml
Navigate to UI and npm start
- username: Ahlam@email.com
- password: Pass1
this software is set to be open-source



