I've noticed quite a bit of you are viewing this post but nobody has replied. If I have broken any rules or if I have not displayed proper post etiquette, I truly apologize as I could really use your expertise and insight.
Lots of people (and "people", such as bots) may view a thread without any thought of answering. They may be looking to see if your post or any replies address their question that their Google search suggested might be answered here.
As for me, there's just way too much there for me to consider trying to answer it all in a single forum post. My only suggestion is to do what you do with any software project: break it down into its component requirements, divide and conquer. The specific technologies you use are more likely to be driven by what your development team prefers to use than which one is the "best" solution.