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
MVC
e 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
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.