I'm trying to implement a system where users of my application receive a deposit address to which they would be able to deposit any amount of Bitcoin at any given time. They would also be able to withdraw their coins and these two processes have to be automated. The same kind of system that any cryptocurrency exchange has.
What I've been trying to do for the past few months is have a bitcoin core behind a node app that would catch txs and blocks from stdout, get more info with a gettransaction rpc and a MySQL database to store everything. I figured this approach is really problematic. I've tried researching but I don't seem to find anything useful, all the repositories and APIs implement the invoice based transactions. Is there a name for such a system so I can do more research? I'm curious if there any other ways businesses do this logic in production? Are there any good source codes that realize similar systems that I can look at? How do big cryptoexchanges deal with these systems for hundreds of coins?