pub(crate) async fn create_app() -> Result<Router, AppError>
Create the app: setup everything and returns a Router
Router