Users should be able to:
- Sign up
- Login
- Delete Account
- Edit Profile
- Choose a cover photo and profile photo
- Send friend requests and receive requests
- Follow and unfollow users
- Block and unblock users
- Report users
- Webserver1 which listens on port 8080.
- Webserver2 which listens on port 8081.
- HAProxy’s image which listens on port 80 (Load Balancer).
- UserApp image to create an instance from the UserApp microservice.
After you create the 4 Docker images, you will be ready to run the project using the $ docker-compose up
command.
Create Webserver 1 Docker image
$ docker build -t facebook-replica-webserver1 . -f Webserver1.Dockerfile
Create Webserver 2 Docker image
$ docker build -t facebook-replica-webserver2 . -f Webserver2.Dockerfile
Create HAProxy Docker image
$ docker build -t facebook-replica-loadbalancer . -f HAProxy.Dockerfile
Create UserApp Docker image
$ docker build -t facebook-replica-userapp . -f UserApp.Dockerfile
$ docker-compose up --build
You will now be able to send and receive HTTP requests through postman on: http://<docker-ip>:80
The following command gets the docker IP address
$ docker-machine ip default
Note: The default docker IP address is 192.168.99.100
The databases contain dummy insertions so that you can test easily.
- RabbitMQ
- PostgreSQL
- ArangoDB
- MinIO
- Redis
- HAProxy
- Docker