Skip to content

Avaliação técnica para a vaga de pessoa desenvolvedora front end da empresa Artio Events

Notifications You must be signed in to change notification settings

amandabrbz/artio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Artio Events

Vaga Pessoa Desenvolvedora Front End.

Guide

Sobre o Desafio

O desafio é criar um componente de input para que o usuário possa preencher seu telefone na nossa aplicação. O layout é auto explicativo, mas o detalhe é um menu dropdown com a lista de países com a bandeira a esquerda e o nome do país a direita, quando selecionado um país da lista, a máscara (DDD) deve ser dinâmica baseada no país, ou seja, o usuário digita o número com DDD e fica no padrão (48)99999-9999.

Requisitos

  • TypeScript
  • SCSS
  • Padrão Funcional
  • O componente deve aceitar apenas valores númericos;
  • O componente deve receber um valor que seja apenas uma string (exemplo: para um usuário que escolheu Brasil (.55) e digitou 48999999999 deve enviar +5548999999999);

Getting Started

Para ter uma cópia local e fazer rodá-lo, siga esses passos:

Pré requisitos

Ter instalado no computador:

  • node superior a versão 12
node -v

Clonando e inicializando

Esse processo é caso você desejar ver o código na sua máquina e rodar localmente a aplicação, para caso só queira ver a aplicação funcionando, siga para a parte de Deploy.

🔻 Comandos devem ser digitados pelo terminal

Para clonar o projeto:

git clone https://github.com/amandabrbz/artio.git

cd artio
npm install

Local

Subir o servidor local:

npm start

Após a aplicação inicializar, deve abrir uma aba automaticamente no browser padrão, rodando o projeto na porta :3000

http://localhost:3000

🚫 Caso a porta já esteja sendo utilizada, a própria aplicação avisa e tenta outra porta.

Versionamento

Para desenvolver utilizei algumas do features do GitHub. Como issues para ver quais tasks precisava fazer e o board presente na aba Projects onde rolou um kanban automatizado com as issues. Com essas features consigo ver como está o progresso de desenvolvimento.

Trabalhei com branchs, maior parte do desenvolvimento abri uma branch para cada issue e ia trabalhando nela quando necessário.

Caso fosse preciso voltar em uma branch, eu rodava o comando de git pull origin main para atualizar a branch conforme a main.

Não trabalhei com PRs e nem SemVer pois achei que não era necessário para um projeto simples.

Processo de Deploy

A princípio ia configurar o deploy na Heroku, pois já tinha alguma experiência e sabia que o deploy de aplicações React era automatizado, entretanto ouve algum conflitos de versão e build que não soube resolver e tentei a Netlify.

O deploy pode ocorrer de três maneiras:

  1. Via GitHub

A escolhida foi essa, pois sem se preocupar com rodas comandos o não. Só é necessário fazer um commit/merge e dar push da main para origin.

  1. Via terminal*
npm run build
netlify deploy --prod

_* É necessário ter instalado o CLI._

  1. Ou manualmente na ferramenta.

Layout

Layout dado pela empresa e pode ser visto no Adobe XD

Ideias

Ideias?

Para simular um envio e de confirmação, fazer um modal que ocupe metade da tela com a impressão do telefone.

Simular um formulário para complementar a página.

Conclusões

Aprendizados

Vi bastante que meus estudos avançaram desde que peguei os primeiros testes em react, acredito que ainda tenho que melhorar muito, mas tentei dar o meu melhor para desenvolver.

Conhecer um pouco do universo typescript foi bem legal, apesar das dificuldades.

Criar e utilizar componentes de SASS 🌟

Foi um teste muito divertido de fazer e muito prazeroso também, aprendi e consegui aplicar algumas coisas que tenho aprendido, sai alguns dias 😵 assim de tanta coisa vista rs

Dificuldades

Tive bastante dificuldade com o TypeScript, dei uma estudada de como utilizar, entretanto encontrei dois deficits no meio do caminho que me atrapalharam um pouco no desenvolvimento que é a tipagem e a OO.

A arquitetura de projeto em React também é meio confuso para mim, procurei algumas arquiteturas e a que mais me chamou a atenção foi de separar os componentes e as views que eram chamadas e também de separar a lógica da interface.

E manipulação de lib, pois a documentação não estava tão clara e o CSS da lib veio quebrado.

Pontos de melhorias

Identificados by me.

➕ Orientação a Objetos e Tipagem.

➕ Arquitetura de projetos React.

➕ Mais react e typescript e testes.

Deploy

Netlify Status

Github - Source Code | Netlify - Render

Contato

Amanda Barboza @ LinkedIn

Referências

Como criar um campo internacional de telefone

Como configurar media query global

About

Avaliação técnica para a vaga de pessoa desenvolvedora front end da empresa Artio Events

Topics

Resources

Stars

Watchers

Forks