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
- Principais comandos
- 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]
- Ler a documentação
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';)Tentei organizar a aplicação no modelo
MVCe pelo que li, acho que tá organizado direitoConsegui 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
storeno 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.