Who receives the Bitcoin transaction fee and how does it technically work?
In terms of how it looks in the protocol:
The transaction fee is the difference between the inputs of a transaction (ie. the amount that leaves the sending addresses) and the outputs of a transaction (ie. the amount that arrives at the receiving addresses).
They can be claimed by a miner by adding the transaction fees amount to the block subsidy amount and sending the whole sum as output to their receiving address.
What is the difference between node and miner?
A node verifies transactions on the blockchain.
A miner solves (creates) blocks, which are then verified by nodes.
You should ask any more questions like this here:
Beginners & Help.
It's worth noting that there's no distinction between miners and nodes on the protocol level (at least if I recall correctly). While the people running mining hardware do not necessarily run their own node, the mining pool that they are directing their hashpower at will. It is this node (or nodes) that will then broadcast the blocks as built by the miners.
So from a protocol point of view they are all just nodes -- it's just that some find new blocks (miners) and some don't.