Skip to content

Latest commit

 

History

History
85 lines (56 loc) · 3.2 KB

05-1-refatorando-aplicacao.md

File metadata and controls

85 lines (56 loc) · 3.2 KB

Launchbase

Desafio 5-1: Refatorando aplicação e configurando o BD

“Querer vencer significa já ter percorrido metade do caminho.”

Made by Rocketseat License

Sobre o desafio   |    Entrega   |    Licença

🚀 Sobre o desafio

Esse é o primeiro desafio de uma sequência que irá implementar o banco de dados na aplicação desenvolvida no módulo anterior.

Nessa etapa, você deve refatorar o código da sua aplicação e preparar o seu ambiente para trabalhar com banco de dados.

Criando Banco de dados

Utilizando a ferramenta postbird, crie através de queries um banco de dados chamado my_teacher e uma tabela com o nome de teachers que possua os seguintes campos:

  • id: INT e PRIMARY KEY;
  • avatar_url: TEXT e NOT NULL;
  • name: TEXT e NOT NULL;
  • birth_date: TIMESTAMP e NOT NULL;
  • education_level: TEXT e NOT NULL;
  • class_type: TEXT e NOT NULL;
  • subjects_taught: TEXT e NOT NULL;
  • created_at: TIMESTAMP e NOT NULL.

Dicas: Para criar a tabela a partir de uma query, basta selecionar o banco no postbird e na aba Query rodar o comando CREATE TABLE especificando o nome da tabela e em seguida as colunas, por exemplo:

CREATE TABLE TEST(
   ID INT PRIMARY KEY,
   NAME TEXT NOT NULL
);

Para mais informações, dê uma olhada nesse link

Refatorando o Código

Após preparar o banco de dados, é preciso refatorar a sua aplicação para utilizá-lo. Você deve fazer as seguintes alterações:

  • Utilizar a nova estrutura de pastas (src, app e lib);
  • Corrija nos arquivos os caminhos relativos que precisar;
  • Utilize nos arquivos da pasta controllers a nova forma de exportar.

Configurando BD na aplicação

Por fim, instale a biblioteca pg e crie o arquivo de configuração do seu banco de dados (em uma pasta config) utilizando o Pool. Não esqueça de passar os dados necessários (user, password, host, port e database) na hora de instanciar (new) o Pool.

Estilização

Você tem liberdade para escolher a estilização que preferir para esse desafio.

📆 Entrega

Esse desafio não precisa ser entregue e não receberá correção. Após concluí-lo, adicionar esse código ao seu Github é uma boa forma de demonstrar seus conhecimentos para oportunidades futuras.

📝 Licença

Esse projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.


Feito com 💜 by Rocketseat 👋 Entre na nossa comunidade!