Oi Luiz, tudo bem?
Existem algumas formas de fazer isso. Por exemplo: se você optar por utilizar o heroku, que é uma plataforma que faz deploy de aplicações back-end, o que você irá precisar é configurar sua máquina segundo o que eles pedem e fazer um push do seu repositório para o servidor deles. Aqui um link com o passo a passo de como subir uma aplicação flask no heroku. Caso opte por um vídeo, recomendo este.
Caso opte por outra forma de deploy, por exemplo usando o Apache, o que precisará fazer é ter um arquivo .wsgi com algumas configurações do seu projeto. E também, um arquivo de configuração do Apache com o nome do servidor e o diretório do projeto. Além da documentação, recomendo este vídeo.
Em relação ao quê seria o Controller neste projeto do curso, o DAO não seria um exemplo de Controller. O controller seria o arquivo views.py, pois ele pega o dado do banco e retorna uma visualização disso, que é a pasta de templates. Acredito que no curso o professor não utilizou nenhum padrão em específico, mas optou por organizar o projeto de forma mais clara e o DAO é responsável pela parte de acesso a dados . Mas lembrando que o implementação do MVC vai do programador. Alguns usam um MVC mais fortificado e outros não. Tudo bem?!
Qualquer dúvida é só falar. Espero ter ajudado. Abraços e bons estudos!