CS50-MCZ

Uma introdução aos empreendimentos intelectuais da Ciência da Computação e da arte da programação.


Lab 9: Birthdays


Crie uma aplicação web para acompanhar os aniversários de amigos.

captura de tela do site de aniversários

Começando

Abra o VS Code.

Comece clicando dentro da janela do terminal e, em seguida, execute cd por si só. Você deve encontrar que seu "prompt" se assemelha ao abaixo.

$

Clique dentro dessa janela de terminal e execute

wget https://cdn.cs50.net/2022/fall/labs/9/birthdays.zip

digite Enter para baixar um arquivo ZIP chamado birthdays.zip em seu espaço de códigos. Tenha cuidado para não ignorar o espaço entre wget e a URL seguinte, ou qualquer outro caractere!

Agora execute

unzip birthdays.zip

para criar uma pasta chamada birthdays. Você não precisa mais do arquivo ZIP, então pode executar

rm birthdays.zip      

e responda com "y" seguido de Enter no prompt para remover o arquivo ZIP que você baixou.

Agora digite

cd birthdays

seguido de Enter para entrar (ou seja, abrir) nesse diretório. Seu prompt agora deve se parecer com o abaixo.

birthdays/ $    

Se tudo foi bem sucedido, você deve executar

ls    

e você deve ver os seguintes arquivos e pastas:

app.py  birthdays.db  static/  templates/    

Se você encontrar algum problema, siga os mesmos passos novamente e veja se consegue determinar onde errou!

Etendendo

No arquivo app.py, você encontrará o início de uma aplicação web Flask. A aplicação possui uma rota (/) que aceita tanto solicitações POST (após o if) quanto solicitações GET (após o else). Atualmente, quando a rota / é solicitada via GET, o modelo de index.html é renderizado. Quando a rota / é solicitada via POST, o usuário é redirecionado de volta para / via GET.

birthdays.db é um banco de dados SQLite com uma tabela, birthdays, que possui quatro colunas: id, name, month e day. Já existem algumas linhas nesta tabela, embora, em última análise, sua aplicação web dará suporte à capacidade de inserir linhas nesta tabela!

No diretório static há um arquivo styles.css contendo o código CSS para esta aplicação web. Não é necessário editar este arquivo, embora você possa fazê-lo, se desejar!

No diretório templates há um arquivo index.html que será renderizado quando o usuário visualizar sua aplicação web.

Detalhes de Implementação

Complete a implementação de uma aplicação web que permita aos usuários armazenar e acompanhar aniversários.

Opcionalmente, você também pode:

Dicas

Testando

Não há check50 para este laboratório! Mas certifique-se de testar sua aplicação web adicionando alguns aniversários e garantindo que os dados apareçam na tabela como esperado.

Execute flask run no seu terminal enquanto estiver no diretório birthdays para iniciar um servidor web que sirva sua aplicação Flask.

Como enviar

No seu terminal, execute o seguinte para enviar seu trabalho.

submit50 cs50/labs/2023/x/birthdays