Website/Views logic, Where is the starting point?

Hello All,
I am a noob, so please bear with me.
When we start bench, what program is run? What is the initial application/code. Where can I find that code?
Also, when a web view is called, like a template such as the home page template, there are variables passed to this template, how do I know who called that template and where are these variables coming from and where and when they were set.
Basically, where is the starting point of the application?
I am used to working with .net framework, but this seems like the way to go, i would like to make the transition to using frappe/erpnext to develop my web apps.
Any advice such as where i can find debugging tools that would help me step through the code would be greatly appreciated.

@Sam2,

frappe/frappe/app.py at develop · frappe/frappe · GitHub it the start point for the frappe app

First, thank you for the quick response.
So where do views get called from?