Assistente web para apoio na identificação de medicamentos, com foco em acessibilidade para idosos e pessoas com deficiência visual ou auditiva
Este repositório contém o protótipo frontend e a documentação da arquitetura serverless proposta em AWS
- Visão geral
- Funcionalidades
- Acessibilidade
- Arquitetura proposta
- Tecnologias utilizadas
- Estrutura do projeto
- Como executar localmente
- Roadmap
- Autores
- Licença
O Assistente de Vendas Inclusivo com IA foi desenvolvido como parte de um TCC na Escola da Nuvem (Projeto Restart + IA) para demonstrar:
- Uso de serviços em nuvem (AWS) em uma arquitetura serverless
- Aplicação prática de Inteligência Artificial
(reconhecimento de imagens e síntese de voz) - Foco em acessibilidade digital, alinhado às necessidades de:
- idosos
- pessoas com baixa visão
- pessoas com deficiência auditiva
Fluxo esperado do usuário:
- Acessa o aplicativo pelo navegador (de preferência no celular)
- Faz login (fluxo conceitual com Google, Facebook ou SMS)
- Tira uma foto da embalagem do medicamento ou informa o código de barras
- Recebe as informações do medicamento em:
- texto
- leitura em voz alta
- interpretação em LIBRAS (via VLibras)
⚠️ Neste repositório a identificação do medicamento ainda é simulada no frontend A integração real com os serviços da AWS faz parte do roadmap
- Tela inicial com splash screen
- Carrossel com passos de introdução, explicando:
- objetivo do aplicativo
- como funciona a identificação de medicamentos
- recursos de acessibilidade disponíveis
- Ação final leva o usuário ao fluxo de login
- Botões:
- “Entrar com Google”
- “Entrar com Facebook”
- “Entrar com celular (SMS)”
- Telas para:
- informar número de telefone
- informar código de verificação (OTP)
- Mensagens e tooltips orientadas à futura integração com Amazon Cognito e Amazon SNS
🔒 Não há autenticação real neste protótipo. O fluxo é apenas de interface
- Tela principal com:
- botão “Tirar foto” (abre seletor de imagem do navegador)
- botão “Código de barras” (abre tela para digitar o código)
- Após o envio, é exibida uma tela de “análise” e, em seguida, o resultado:
- Nome do medicamento (ex.: Losartana Potássica 50 mg – 30 comprimidos)
- Laboratório (ex.: Eurofarma – genérico)
- Faixa de preço estimada
- Localização na loja (corredor/prateleira/seção)
- Avisos importantes (ex.: uso sob prescrição médica)
A imagem losartana.jpg é utilizada como exemplo de embalagem no protótipo
- Botão “Ouvir tudo”:
- Lê em voz alta o texto principal da tela de resultado
(nome, dosagem, preço, avisos) - Implementado via Web Speech API (
window.speechSynthesis) empt-BR
- Lê em voz alta o texto principal da tela de resultado
- Botão “Parar voz” para interromper a leitura
- Rodapé fixo simulando um painel de logs do Amazon CloudWatch
- Mostra eventos a cada ação do usuário (login, upload de imagem, análise etc.)
- Recurso pedagógico para visualizar o fluxo que ocorreria no backend em AWS
O projeto foi modelado com foco em acessibilidade desde o início
- Botões “A+” e “A–” para aumentar ou diminuir o tamanho da fonte global
- Ajuste aplicado no elemento
html, facilitando a leitura
- Alternância entre:
- tema padrão (teal/verde)
- tema de alto contraste (fundo preto, tipografia amarela/branca, bordas bem definidas)
- Estilização complementar em
style.csspara manter botões, cards e campos legíveis nesse modo
- Opção “Auto leitura”:
- Quando ativada, o texto principal da tela é lido automaticamente sempre que o usuário troca de etapa (home, código de barras, análise, resultado)
- Inclusão do widget oficial do VLibras no
index.html - Disponível em todas as telas para interpretação em LIBRAS
A arquitetura abaixo é conceitual e está documentada em
docss/diagrama-assistente-de-vendas.png.
Resumo dos componentes planejados:
-
Camada de borda
- Amazon Route 53 (DNS)
- Amazon CloudFront (CDN)
- AWS WAF (firewall de aplicação)
-
Frontend
- Aplicação estática hospedada em Amazon S3 e entregue via CloudFront
-
Autenticação e notificação
- Amazon Cognito (usuários, login social e OTP por SMS)
- Amazon SNS (envio de SMS)
-
Backend serverless
- Amazon API Gateway (exposição de APIs REST)
- AWS Lambda (funções para:
- processar imagem
- consultar/atualizar dados no DynamoDB
- gerar áudio com Polly)
-
Dados e IA
- Amazon Rekognition (Custom Labels) para identificação de embalagens
- Amazon Polly para síntese de voz
- Amazon DynamoDB para dados de medicamentos
- Amazon S3 para imagens e áudios
-
Monitoramento e segurança
- Amazon CloudWatch (logs e métricas)
- AWS IAM (permissões e papéis)
A implementação desses serviços não está neste MVP,
mas o projeto foi desenhado para evoluir nessa direção
- HTML5
- Tailwind CSS (via CDN)
- CSS custom (
style.css) - JavaScript (ES6) –
main.js - Web Speech API (SpeechSynthesis)
- Lucide Icons (via CDN)
- Widget VLibras
- Node.js em AWS Lambda
- Amazon API Gateway
- Amazon Rekognition (Custom Labels)
- Amazon Polly
- Amazon DynamoDB
- Amazon S3
- Amazon CloudFront
- Amazon Cognito
- Amazon SNS
- Amazon CloudWatch
- AWS WAF
- AWS IAM
.
├── pwa-assistente-de-vendas/
├── index.html # SPA principal
├── main.js # Lógica da aplicação e acessibilidade
├── style.css # Estilos complementares (ex.: modo alto contraste)
├── losartana.jpg # Imagem de exemplo de medicamento
├── docss/
│ ├── TCC-Final-Grupo5.pdf # Documento do TCC
│ ├── Calculadora-de-Preco.pdf # Estimativa de custos na AWS
│ └── Diagrama-TCC5-drawio-fundobranco.png # Diagrama de arquitetura
└── README.md
Projeto frontend estático – Baixe a pasta pwa-assistente-de-vendas-ia e rode localmente na sua máquina o código
- Implementar backend real com AWS Lambda + API Gateway
- Integrar autenticação com Amazon Cognito
- Integrar envio de SMS com Amazon SNS
- Integrar análise de imagem com Amazon Rekognition Custom Labels
- Integrar síntese de voz com Amazon Polly
- Persistir dados de medicamentos em Amazon DynamoDB
- Criar pipeline de CI/CD (GitHub Actions + S3/CloudFront)
- Adicionar testes automatizados (unitários e E2E)
- Internacionalização (pt-BR / en-US)
Projeto desenvolvido como parte do TCC do Projeto Restart + IA – Escola da Nuvem (Grupo 5):
Wanderson Carlos Ramos de Souza Sá Filho
MIT License
Copyright (c) 2025 Assistente de Vendas Inclusivo com IA
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
