Desk includes the default routing and menu system for the single page application
You can add a new menu to the desk via
frappe.desk.add_sidebar_item('New ToDo', '#new/todo');
Default route handling for various views
All list views are rendered at /list/:doctype
Documents can be edited via /edit/:doctype/:name
New Documents can be created via /new/:doctype