Teste para estágio [back-end]

Inicio

Bom, me submeti à uma vaga de estágio para back-end. O desafio é eu montar uma API RESTful e será um CRUD usando algum framework do tipo express ou Koa e um banco de dados relacional (que não é obrigatório). Há também um teste de javascript.

Estudar

Preciso estudar alguns assuntos antes de começar a desenvolver a aplicação, como sou noob na maior parte dos assuntos, vou separar de 2 a 3 dias para um estudo superficial afim de ter o conhecimento para realizar o desenvolvimento, e depois faço um estudo mais aprofundado.

Tópicos a serem estudados

  • SQL
    • Principais comandos [check: 03/03]
    • Relacionar tabelas
  • PostgreSQL [check: 03/03]
    • Ler a documentação
    • Intalar na minha máquina
    • Configurar
  • Knex.js
    • Ler a documentação [check: 03/03]
    • Integrar com nodeJS [check: 04/03]
    • Configurar para postgresql [check: 04/03]

Configuração do projeto

  • Criar o projeto no github [check: 03/03]
  • Separar as pastas do projeto [check: 04/03]
  • Instalar o postgresql na minha máquina [check: 03/03]
  • Instalar as dependência [check: 04/03]

Observações

[03/03] Fiz um apanhado geral das coisas que tinha que estudar, assisti alguns vídeos, li as documentações oficiais das ferramentas que ia usar. Criei mais ou menos a base da aplicação. Fiz também os exercícios em javascript puro, devem faltar ainda uns 5 a terminar.

[04/03] Hoje comecei me aprofundando no knex.js e como integrar com o nodejs, ainda não entendi 100% mas to começando a caminhar.

  • Consegui fazer o knex conectar ao postgres (aconteceram alguns erros, mas nada fora do normal, no print não apareceu, mas um dos erros ele não conectava ao banco, era só mudar a senha padrão com o comando ALTER USER postgres PASSWORD 'senha'; )

    erro apresentado - print

  • Tentei organizar a aplicação no modelo MVC e pelo que li, acho que tá organizado direito

  • Consegui também fazer as rotas get e post da rota api/navers , mas ainda falta retornar o obj do usuário criado.

[05/03] Não consegui pegar muito no projeto, tinha umas coisas para resolver. Mas fiz alguns ajustes e consegui retornar o usuário. No knex tem a função .returning() e acabei vendo nesse video o cara usando e adaptei pra o que eu precisava, não sei se está correto mas funciona.

Coisas que faltam resolver

[04/03]

  • retorno da função store no controller [check: 05/03]
  • criar tabela projetos [07/03]

Finalizando

[08/03] Sábado e domingo eu fiz poucas coisas, mas deixei bastante coisa adiantada. Hoje eu terminei de criar as rotas, fiz uma adaptação para que a data fosse exibida sem o timezone. Adicionei também a lib helmet pra dar uma segurança a aplicação.

Inicio