Skip to content

crismantovani/TF005-Avanade

Repository files navigation

Locker Face

⚛️ 🤳 🗄️ 🔐 🚀

📑 Índice


1. Desafio 🎯

Chegamos ao fim do bootcamp da Laboratória, e, como um último teste, recebemos da empresa Avanade um desafio.

Segurança é um problema cada vez maior hoje em dia e garanti-la em meios não digitais pode ser ainda mais complexo.

Hoje com o aumento da pandemia, quem quer ficar em filas enormes, passando por demorados processos de autenticação manuais, que quase sempre são assistidos por dispositivos ou acessórios para garantir a identificação?

Em um mundo cada vez mais digital, conseguimos aumentar experiência dos usuários fazendo sua identificação apenas por Reconhecimento facial.

Para isso, devemos criar uma aplicação web para cadastro e identificação dos usuários, utilizando a Microsoft Azure Face API.

Voltar ao topo

2. A aplicação 💡

Com o desafio em mãos iniciamos o processo de identificar um problema, chegamos em uma questão que está muito ligado o momento que estamos vivendo hoje.

A pandemia aumentou muito a compra através da internet e com isso o volume de entregas. Muitas vezes não estamos presentes em nossas residências para recebe-las e não disponibilizamos de portaria 24 horas, com isso utilizamos o endereço comercial para receber nossas encomendas. O que também acaba não sendo uma experiência 100% agradável, uma vez que o entregador muitas vezes não pode esperar, a portaria do condomínio não tem autorização para receber, e você não sabendo o exato horário que será feita a entrega pode estar ocupado no momento.

Com isso idealizamos o Locker Face, um dispositivo para ser utilizado em lockers (para empresas em prédios corporativos ou condomínios residenciais sem portaria 24 horas), onde o funcionário que possuir uma entrega no Locker poderá fazer a retirada do mesmo, destravando o armário através da identificação de sua face. Facilitando a logística do entregador que não mais precisará esperar o funcionário na portaria para fazer a entrega, e o recebedor que poderá fazer a retirada a qualquer hora, com total segurança.

Voltar ao topo

3. Histórias de usuários 🗣️

A partir da idealização do projeto podemos criar as Histórias de Usuários:

✍️ História de usuário 1: Eu, como entregador, ao chegar ao local quero poder cadastrar a encomenda no Locker Face e o mesmo liberar o armário de acordo com o tamanho da encomenda.

✍️ História de usuário 2: Eu, como destinatário de uma encomenda, quero poder cadastrar minha face para receber minhas encomendas.

✍️ História de usuário 3: Eu, como destinatário de uma encomenda, quero poder liberar o armário que está minha encomenda pela reconhecimento de minha face.

✍️ História de usuário 4: Eu, como destinatário de uma encomenda, quero poder liberar o armário que está minha encomenda pelo código de rastreio.

Voltar ao topo

4. Planejamento 📆

Gif

Para conseguir entregar todas as funcionalidades do projeto, organizamos todo o fluxo de desenvolvimento do projeto pelo método Kanban no Trello.

Dessa forma, definimos:

🌱 MVP

🤙 Critérios mínimos de aceitação

🏷️ Padronizações do código (Code Style)

⚒️ Divisão de tarefas

🔐 Para merge no repositório (main), somente após code review para revisão em pares e aprovação da reviewer

🤝 Daily Scrum


Preview do quadro no Trello

Você pode acessar nosso quadro aqui ou clicar na imagem para ampliar

4.2 Protótipos ✍

Iniciamos o desenvolvimento da aplicação com um protótipo de baixa fidelidade e ter um norte para os próximos:

Protótipo Baixa Fidelidade

🔎 Clique na imagem para ampliar

A partir do desenho acima iniciamos o desenvolvimento do protótipo de média fidelidade através da ferramenta

Figma

Protótipo Média Fidelidade   Protótipo Média Fidelidade
Protótipo Média Fidelidade   Protótipo Média Fidelidade

🔎 Clique nas imagens para ampliar

A prototipagem definitiva foi desenvolvida em conjunto com os mentores da Avanade para aprovação do tema e paleta de cores escolhidas.

Você pode acessar nosso protótipo no Figma clicando aqui.

Protótipo Alta Fidelidade   Protótipo Alta Fidelidade
Protótipo Alta Fidelidade   Protótipo Alta Fidelidade

🔎 Clique nas imagens para ampliar

Voltar ao topo

5. Desenvolvimento 💻

🛠️ Com a identidade visual definida, começamos a desenvolver a interface. Os principais objetivos foram definidos logo de início:

🧾 A aplicação foi desenvolvida como SPA (single-page application), para que o usuário tenha a experiência similar à de um aplicativo para desktop.

🧩 Utilizamos React JS para componentizar todo o site. Isso mantém a aplicação com alto desempenho e também permite que os componentes sejam reutilizados, gerando um código de fácil manutenção por qualquer desenvolvedor.

✨ Instalamos o ESLint na aplicação para manter o código padronizado e pronto para ser testado.

⚙️ Microsoft Azure Face API para fazer o cadastro e a validação dos rostos.

🛡️ Como forma de complemento da aplicação, foi necessário a utilização de uma segunda API. Inicialmente realizamos um mock para entregar a aplicação com todas as implementações. Esse mock pode ser alterado por uma API já existente do Locker.

6. Interface Final 🎨

Apresentamos a interface final da aplicação e todas as suas funcionalidades:

Aplicação Locker Face

🔎 Clique na imagem para ampliar

7. Releases 💫

A aplicação está completa e funcional, mas sempre é possível melhorar.

Nossas próximas features são:

  • Dupla validação caso a limiar de confiança (confidenceThreshold) com a face detectada for entre 60% e 90%.
  • Dupla validação para encomendas cadastradas com nomes incorretos ou incompletos.
  • Feedback de postagem no Locker para o cliente.
  • Feedback de retirada da postagem pelo cliente para o entregador.
  • Melhoria na usabilidade do Locker pelo entregador.
  • Aplicar uma moldura facial para orientar o usuário na validação da face.
  • Adição de mais uma layer de segurança para prevenir desbloqueio por foto.
  • Face Recognition: Reconhecimento automático da face mediante aproximação do dispositivo.

Essa lista pode aumentar de acordo com a necessidade do cliente.

Voltar ao topo

8. Tecnologias ⚙️

Utilizamos as seguintes ferramentas:

Code:

ReactJS HTML5 CSS3 JSX Vercel

Planejamento:

Trello Figma

Fique à vontade para rodar o projeto localmente. É bem simples!

1 - Clone o repositório para seu local

2 - Abra o terminal e instale o NPM

npm install

3 - Entre na pasta raiz do projeto e digite:

npm start

Enjoy 👊

Voltar ao topo

9. Agradecimentos 🙌

Inicialmente gostaríamos de agradecer a Avanade, pela confiança e pelo apoio dado durante todo o tempo de hackaton. Nossa equipe ficou extasiada com o desafio proposto por vocês.

Gostaríamos de agradecer também a Laboratória por estar nos apoiando nessa nova jornada.

Não menos importante gostaríamos de agradecer a todas as colegas de código, em especial a Akemi Mitsueda, Caroline Costa e Gabriela Silva.

Voltar ao topo

10. Desenvolvedoras 👩‍💻


🏆 Face Locker foi orgulhosamente desenvolvido em 3 dias por 6 mulheres que formaram a squad da Avanade, que conquistou o 1º lugar do Talent Fest 2021 do bootcamp da Laboratória.

Veja nossa apresentação e de todas as nossas colegas no vídeo abaixo:

YouTube Link - Talent Fest

▶️ Clique para dar reproduzir o vídeo


Se você ficou com alguma dúvida, tem sugestões ou quer apenas nos conhecer melhor, por favor, entre em contato :)
Ana Clara Farah Camila Oliveira Cristina Mantovani Dunia Ghazzaoui Kauana Agostini Lucila Xavier
GitHub LinkedIn GitHub LinkedIn GitHub LinkedIn GitHub LinkedIn GitHub LinkedIn GitHub LinkedIn

Voltar ao topo

Releases

No releases published

Contributors 6