How does BitCore work? There are different sets of libraries in  https://github.com/bitpay/bitcore


Node - A full node with extended capabilities using Bitcoin Core (what is the role of this node ? As i can see this code in node js . Is this means that bitpay has implemented the bitcoin core in node js ? )
Insight API - A blockchain explorer HTTP API
Insight UI - A blockchain explorer web user interface
Wallet Service - A multisig HD service for wallets
Wallet Client - A client for the wallet service


How do these different libraries interact with the Bitcoin blockchain? 

Anyone explain the flow in steps will be highly appreciated.
Node - This is a node.js implementation of a full node, it is different from the original, Bitcoin Core, which is written in C++. A full node downloads every block and transaction and check them against Bitcoin's consensus rules. The Bitcoin network is made up primarily of nodes and miners, which don't all have to run the same exact software, provided they follow the same consensus rules (such as determine which transactions and blocks are valid).
Insight API - This is a blockchain browser/explorer, which is an application that reads the data from the blocks and prepares it in a searchable database. Usually one of the main features is that you can query any block or transaction by id. You can also query any address, and it will return a balance and transaction history for that address. These features are not very user friendly with most node implementations.
Insight UI - This is just the front end for the block explorer.
Wallet Service - This is an application that exposes an API for wallet operations such as creating and receiving Bitcoin. This will submit transactions to a full node (which could be a Bitcore node).
Wallet Client - A client for the wallet service that consumes the API.