Instead of thinking about servers, think about people. If you wanted to create an all in one stock trading service, like a guy in a kiosk, what would you need to be able to do? No screens, just verbal communication.
(As full disclosure, I’ve never used RH so I’m just riffing here.)
- ask for a list of all stocks and prices - maybe be able to paginate (get 20 at a time)
- get more detailed information about a specific stock
- give a sell order
- give a buy order
- get the latest price (for sell and buy confirmations)
If there was a stock trading kiosk at the mall, those are things I would expect the guy to be able to do for me. When moving to an app, I’d also want to think about:
- authenticate and authorize the user
- get information about the user’s account
- change user’s information
For a basic app, I’d expect something like that. I don’t know how digital trading works, maybe there is also a way to temporarily lock in a price for 90 seconds or whatever while you are mulling it over, like buying airline tickets online.
The other thing you would need to think about would be communications. For a lot of these things you will want to use a RESTful connection, where the client app makes all the requests. But what about if they are looking at a specific stock and the price is fluctuating. Does the app make an http request every second to get the new price? Another way would be to open up a socket so the server can tell the client when the data changes.
I don’t know - those are some of the things I would think about.