A CinemaOwner Application using Microservices and the Docker Environment. The IDM,Proxy, and the Publish/Subscirbe servives are based on the Fiware Lab.
There are seven components:
- Application logic
- Identity Management
- KEYROCK IDM
- Authentication of users using OAUth2 protocol
- Proxy
- PEP PROXY - WILMA
- Protection of backend containers - Authorization
- Publish/Subscribe service
- Orion Context Broker
- The Publish-Subscribe mechanism facilates the creation of subscriptions and notifications for users regarding the movies available on the platform
- Data storage service
- REST API
- Communication between application logic and database
- Databases
- MySQL
- User/Keyrock db
- mongoDB
- Orion db
- Application db
- MySQL
- Migration to the Google Clod Platform(GCP)
KEYROCK IDM :
▪ Container name: fiware-keyrock
▪ ipv4_address: 172.18.1.5
▪ port: 3005:3005
▪ Volume: mysql-db
Data storage service:
▪ Container name: node-mongo
▪ port: 27018:27018
▪ Volume: mongodb
PEP-PROXY WILMA:
Proxy of data storage service:
▪ Container name: data_storage-proxy
▪ ipv4_address: 172.18.1.10
▪ port: 1027:1027
Proxy of Orion:
▪ Container name: fiware-orion-proxy
▪ ipv4_address: 172.18.1.11
▪ port: 1028:1028
ORION CB:
▪ Container name: fiware-orion
▪ ipv4_address: 172.18.1.9
▪ port: 1026:1026
▪ Volume: mongo-db
VOLUMES:
▪ docker-project_mysql-db , MySQL db for KEYROCK
▪ docker-project_mongodb , mongoDB of Data Storage Service
▪ docker-project_mongo-db , mongoDB of Orion CB
For the creation of the data storage service, we use Node.js with the Express framework. Below we can see the structure of API:
Routes/Endpoints of REST API's calls
▪ http:https://ipV4:port/api/subscriptions
▪ http:https://ipV4:port/api/movies
▪ http:https://ipV4:port/api/favorites
For running my project:
- Clone the repo
https://github.com/NikolasTz/CinemaOnwerApp.git
- Enter the directory
cd docker_project
- Migration of the databases
- Run
docker-compose up --build
- Visit the
locahost:8080