/picpay-desafio-frontend

Desafio técnico - Front-end

Primary LanguageTypeScript

Desafio Frontend PicPay

Primeiramente, obrigado pelo seu interesse em trabalhar na melhor plataforma de pagamentos do mundo! Abaixo você encontrará todos as informações necessárias para iniciar o seu teste.

Avisos antes de começar

Setup do projeto

  • Angular CLI: 8.3.18
  • Node: 10.15.3
  • Angular: 8.2.14

Como Rodar?

  • Instale as dependências usando o comando npm install
  • Na raiz do repositório, rode este comando ng serve para iniciar o servidor de desenvolvimento.
  • A Aplicação estará disponível na porta http://localhost:4200/

Leia com atenção! ⚠️

1 - Nosso desafio consiste de uma aplicação (CRUD), que traz uma tabela de itens e que deverá ter paginação. No layout proposto há um botão de filtragem dos itens, isso é um plus que pode contar mais pontos. Esta aplicação consiste de uma tela de login (consultar usuário no fim deste arquivo), para que você tenha acesso à tela de listagem (home). Você poderá utilizar a lib de components que quiser, mas desde que siga o mínimo do layout proposto. Você pode implementar novas features, melhorar o design, tudo que você fizer contará pontos!

2 - Temos uma API mock (JSON Server) na qual você utilizará para implementar os seus serviços de CRUD. Os dados estão armazenados no arquivo db.json na raiz do projeto.

3 - Certifique-se de revisar seu código, a modo que fique o mais organizado possível para a avaliação e entendimento dos avaliadores.

4 - Utilize a estrutura de pastas que achar mais adequada, bem como padrões, patterns, práticas de segurança, performance etc.

5 - Caso você seja JR e tenha algum receio, não se preocupe, iremos avaliar o que foi entregue, mesmo com pendências.

6 - O diferencial para este desafio, é o aprimoramento do mesmo, bem como implementação de práticas de segurança, performance e/ou estrutura.

API

Para o seu desafio ser mais interativo, estamos utilizando um mock de API, chamado JSON Server. Portanto, é necessário que você instale-o globalmente em sua máquina para ter os recursos da lib.

1 - Como instalar?
npm install -g json-server

2 - e para rodar (deixar aberto em uma outra aba do terminal, para que ele fique escutando suas ações de CRUD!), digite o seguinte comando na RAÍZ do projeto: npm run api

Link para mais detalhes: https://github.com/typicode/json-server

Rotas:
GET: /tasks
POST: /tasks
PUT: /tasks
PATCH: /tasks
DELETE: /tasks

GET: /account
POST: /account
PUT: /account
PATCH: /account
DELETE: /account

Models:

Tasks - Esta é sua lista com agenda de pagamentos. Aqui você cadastrar, editar e excluir um pagamento.
{ "id": 5, "name": "Anthea Pundy", "username": "apundy4", "title": "Software Engineer III", "value": 177.19, "date": "2021-01-01T14:09:51Z", "image": "https://robohash.org/quiaautomnis.png?size=150x150&set=set1", "isPayed": true },

Account - você usará este usuário para Login da plataforma
{ "id": 0, "name": "usuario", "email": "usuario@gmail.com", "password": "usuario" }


Parametros da API (Json Server):

paginate:
GET: /tasks?_page=7
GET: /tasks?_page=7&_limit=20

Usuário para utilizar no login:
"email": "usuario@gmail.com", "password": "usuario"

Orientações e dicas:

  • Esperamos que você consiga completar o mínimo do desafio; Mas não se esqueça, que aqui no PicPay é muito concorrido, então você irá concorrer com outras pessoas desenvolvedoras que também querem muito trabalhar conosco, então, arrebenta, mostre o seu melhor! 😉

  • Iremos avaliar cada feature, conceito, pattern, tudo o que você fizer de adicional. Tudo além do proposta contará pontos!

  • Caso você esteja concorrendo a uma vaga de Sênior, testes unitários são necessários no teste. Se você estiver concorrendo a uma vaga de JR ou Pleno, não é obrigatorio, mas é um grande diferencial caso seja aplicado os testes.

  • Faça commits regulares. Eles são melhores do que um commit gigantesco. Gostaríamos de ver commits organizados e padronizados, então capriche neles!

Links úteis:

https://github.com/BeeTech-global/bee-stylish/tree/master/commits https://www.conventionalcommits.org/en/v1.0.0/

Qualquer problema por favor contate seu recruiter.

BOA SORTE ! 😉😉😉