{"id":50713393,"url":"https://github.com/ryanbritodev/torque-mobile-app","last_synced_at":"2026-06-09T17:01:14.287Z","repository":{"id":356843879,"uuid":"1234290349","full_name":"ryanbritodev/torque-mobile-app","owner":"ryanbritodev","description":null,"archived":false,"fork":false,"pushed_at":"2026-05-10T02:08:03.000Z","size":315,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-10T04:05:51.898Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ryanbritodev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-10T01:48:44.000Z","updated_at":"2026-05-10T02:08:07.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/ryanbritodev/torque-mobile-app","commit_stats":null,"previous_names":["ryanbritodev/torque-mobile-app"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/ryanbritodev/torque-mobile-app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryanbritodev%2Ftorque-mobile-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryanbritodev%2Ftorque-mobile-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryanbritodev%2Ftorque-mobile-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryanbritodev%2Ftorque-mobile-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ryanbritodev","download_url":"https://codeload.github.com/ryanbritodev/torque-mobile-app/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryanbritodev%2Ftorque-mobile-app/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34116461,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-09T02:00:06.510Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-09T17:01:13.205Z","updated_at":"2026-06-09T17:01:14.282Z","avatar_url":"https://github.com/ryanbritodev.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003cimg src=\"https://github.com/ryanbritodev/torque-mobile-app/raw/main/assets/images/homepage.png\" alt=\"Torque App\" width=\"280\"/\u003e\n\n# 🔧 Torque — Ford VIN Share App\n\n**Solução mobile para monitoramento de VIN Share e retenção de clientes no pós-venda Ford**\n\n[![TypeScript](https://img.shields.io/badge/TypeScript-5.3-3178C6?style=flat-square\u0026logo=typescript\u0026logoColor=white)](https://www.typescriptlang.org/)\n[![React Native](https://img.shields.io/badge/React_Native-0.76-61DAFB?style=flat-square\u0026logo=react\u0026logoColor=black)](https://reactnative.dev/)\n[![Expo](https://img.shields.io/badge/Expo_SDK-52-000020?style=flat-square\u0026logo=expo\u0026logoColor=white)](https://expo.dev/)\n[![Expo Router](https://img.shields.io/badge/Expo_Router-v4-000020?style=flat-square\u0026logo=expo\u0026logoColor=white)](https://expo.github.io/router/)\n[![NHTSA API](https://img.shields.io/badge/API-NHTSA-003478?style=flat-square)](https://api.nhtsa.gov/)\n[![FIAP](https://img.shields.io/badge/Challenge-Ford_+_FIAP_2026-ED1C24?style=flat-square)](https://www.fiap.com.br/)\n\n_Challenge Ford + FIAP 2026 | Mobile Development \u0026 IoT_\n\n\u003c/div\u003e\n\n---\n\n## Sumário\n\n- [Sobre o Projeto](#-sobre-o-projeto)\n- [Contexto e Problema](#-contexto-e-problema)\n- [Funcionalidades](#-funcionalidades)\n- [Arquitetura e Fluxo](#-arquitetura-e-fluxo)\n- [Tecnologias](#-tecnologias)\n- [API Externa](#-api-externa-consumida)\n- [Estrutura do Projeto](#️-estrutura-do-projeto)\n- [Identidade Visual Ford](#-identidade-visual-ford)\n- [Como Rodar](#-como-rodar)\n- [Solução de Problemas](#️-solução-de-problemas)\n- [Integrantes](#-integrantes)\n\n---\n\n## Sobre o Projeto\n\nO **Torque** é um aplicativo mobile desenvolvido para concessionárias e gerentes de pós-venda Ford. Ele centraliza indicadores de **VIN Share** (participação de serviços por veículo), gestão de frota e leads preditivos em uma única interface, permitindo que as equipes atuem proativamente na retenção de clientes antes que eles levem seus veículos à concorrência.\n\nO app consome dados da **API pública da NHTSA** para exibir recalls ativos, histórico de revisões e decodificação de VIN em tempo real, conectando informações técnicas do veículo diretamente com o fluxo comercial da concessionária.\n\n---\n\n## Contexto e Problema\n\nO VIN Share mede a proporção de serviços de um veículo realizados dentro da rede autorizada Ford. Uma queda nesse indicador sinaliza que o cliente está migrando para oficinas independentes — um problema crítico de pós-venda que resulta em:\n\n- **Perda de receita** recorrente de revisões e peças originais\n- **Ruptura do relacionamento** com o cliente\n- **Menor rastreabilidade** do histórico do veículo\n- **Recall não atendidos** por falta de contato ativo\n\nO Torque endereça esse problema oferecendo **visibilidade em tempo real** e **geração automática de leads** para veículos com risco de abandono da rede.\n\n---\n\n## Funcionalidades\n\n### Dashboard\nVisão executiva com os principais KPIs da concessionária:\n- VIN Share atual e variação percentual\n- Receita do período com tendência\n- Contagem de frota ativa monitorada\n- Leads em aberto aguardando ação\n- Mini gráficos de evolução histórica por métrica\n\n### Frota\nGestão completa dos veículos cadastrados:\n- Listagem com busca por placa, modelo ou proprietário\n- Filtros por status (em dia, revisão próxima, risco de abandono)\n- **Score de risco** calculado por tempo desde a última visita\n- Acesso rápido ao detalhe de cada veículo\n\n### Leads Preditivos\nMotor de priorização de contatos:\n- Leads gerados automaticamente por algoritmo de risco\n- Classificação por urgência (alta / média / baixa)\n- **Ação direta**: ligar ou abrir WhatsApp com um toque\n- Histórico de tentativas de contato\n\n### Alertas e Notificações\nCentral de avisos críticos:\n- Recalls ativos por VIN (dados NHTSA em tempo real)\n- Alertas de revisão programada vencida\n- Notificações de garantia próxima do vencimento\n- Avisos de risco calculado de perda do cliente\n\n### Detalhe do Veículo\nFicha completa do veículo:\n- Dados técnicos via decodificação do VIN\n- Histórico de serviços na rede\n- Status de recalls ativos e pendentes\n- Informações de garantia (original e estendida)\n- Próximas revisões recomendadas\n\n---\n\n## Arquitetura e Fluxo\n\n```\n┌──────────────────────────────────────────────────────┐\n│                    Torque App                        │\n│                                                      │\n│  ┌─────────┐  ┌────────┐  ┌────────┐  ┌──────────┐ │\n│  │Dashboard│  │ Frota  │  │ Leads  │  │ Alertas  │ │\n│  └────┬────┘  └───┬────┘  └───┬────┘  └────┬─────┘ │\n│       │           │           │             │        │\n│       └───────────┴─────┬─────┴─────────────┘        │\n│                         │                             │\n│               ┌─────────▼──────────┐                 │\n│               │   services/api.ts  │                 │\n│               │  services/mock.ts  │                 │\n│               └─────────┬──────────┘                 │\n└─────────────────────────┼────────────────────────────┘\n                          │\n              ┌───────────▼───────────┐\n              │     NHTSA Public API  │\n              │    api.nhtsa.gov      │\n              └───────────────────────┘\n```\n\nO app usa **Expo Router v4** com navegação baseada em arquivos. A camada de serviços abstrai chamadas à API NHTSA e os dados simulados (`mockData.ts`), tornando simples a substituição futura por uma API interna Ford.\n\n---\n\n## Tecnologias\n\n| Tecnologia | Versão | Uso |\n|---|---|---|\n| React Native | 0.76.9 | Framework mobile |\n| Expo SDK | ~52.0.0 | Plataforma e tooling |\n| Expo Router | ~4.0.0 | Navegação file-based |\n| TypeScript | ^5.3.3 | Tipagem estática |\n| React | 18.3.1 | Biblioteca de UI |\n| expo-notifications | ~0.29.0 | Push notifications |\n| expo-font | ~13.0.0 | Fontes customizadas |\n| react-native-svg | ^15.15.4 | Gráficos vetoriais |\n| react-native-screens | ^4.24.0 | Otimização de navegação |\n| react-native-safe-area-context | ^5.7.0 | Safe area handling |\n| @expo/vector-icons (Ionicons) | via Expo | Ícones |\n\n---\n\n## API Externa Consumida\n\n### NHTSA — National Highway Traffic Safety Administration\n\nBase URL: `https://api.nhtsa.gov`\n\n| Endpoint | Descrição |\n|---|---|\n| `GET /recalls/recallsByVIN?vin={vin}` | Recalls ativos para um VIN específico |\n| `GET /recalls/recallsByVehicle?make=Ford\u0026model={model}\u0026modelYear={year}` | Recalls por modelo e ano |\n| `GET /vehicles/decodevin/{vin}` | Decodificação completa do VIN (fabricante, modelo, motor, etc.) |\n\nA API NHTSA é pública, gratuita e não requer autenticação. Documentação completa em [api.nhtsa.gov](https://api.nhtsa.gov).\n\n\u003e **Nota:** Os dados de frota, leads e métricas de VIN Share são simulados via `services/mockData.ts`, representando a integração futura com sistemas internos da Ford (ex: FordDirect, DMS da concessionária).\n\n---\n\n## Estrutura do Projeto\n\n```\ntorque/\n├── app/\n│   ├── _layout.tsx              # Layout raiz (Stack Navigator)\n│   ├── vehicle-detail.tsx       # Tela de detalhe do veículo\n│   └── (tabs)/\n│       ├── _layout.tsx          # Tab Navigator com identidade Ford\n│       ├── index.tsx            # Dashboard (VIN Share, métricas)\n│       ├── vehicles.tsx         # Frota com busca e filtros\n│       ├── leads.tsx            # Leads preditivos\n│       └── notifications.tsx    # Central de alertas\n├── components/\n│   ├── MetricCard.tsx           # Card de KPI com mini gráfico\n│   ├── MiniBarChart.tsx         # Gráfico de barras inline (SVG)\n│   ├── VehicleCard.tsx          # Card de veículo com score de risco\n│   └── LeadCard.tsx             # Card de lead com ações (ligar/WhatsApp)\n├── constants/\n│   └── Colors.ts                # Paleta de cores Ford\n├── services/\n│   ├── api.ts                   # Integração com NHTSA API\n│   └── mockData.ts              # Dados simulados (frota, leads, métricas)\n├── types/\n│   └── index.ts                 # Tipos TypeScript globais\n├── assets/\n│   └── images/                  # Imagens e ícones\n├── app.json                     # Configuração Expo (nome, ícone, splash)\n├── babel.config.js              # Configuração Babel\n├── tsconfig.json                # Configuração TypeScript\n└── package.json                 # Dependências e scripts\n```\n\n---\n\n## Como Rodar\n\n### Pré-requisitos\n\n| Ferramenta | Versão mínima | Instalação |\n|---|---|---|\n| Node.js | 18.x ou superior | [nodejs.org](https://nodejs.org/) |\n| npm | 9.x ou superior | Incluso no Node.js |\n| Git | qualquer | [git-scm.com](https://git-scm.com/) |\n| Expo Go | última versão | [iOS](https://apps.apple.com/app/expo-go/id982107779) / [Android](https://play.google.com/store/apps/details?id=host.exp.exponent) |\n\n### 1. Clonar o repositório\n\n```bash\ngit clone https://github.com/ryanbritodev/torque-mobile-app.git\ncd torque-mobile-app\n```\n\n### 2. Instalar dependências\n\n```bash\nnpm install\n```\n\n### 3. Iniciar o servidor de desenvolvimento\n\n```bash\nnpx expo start\n```\n\n### 4. Abrir no dispositivo\n\n| Plataforma | Como abrir |\n|---|---|\n| **Celular físico** | Abra o **Expo Go** e escaneie o QR Code exibido no terminal |\n| **Android (emulador)** | Pressione `a` no terminal |\n| **iOS (simulador Mac)** | Pressione `i` no terminal |\n| **Web (browser)** | Pressione `w` no terminal |\n\n\u003e Para celular físico, certifique-se que o dispositivo está na **mesma rede Wi-Fi** que o computador.\n\n---\n\n## Integrantes\n\n| Nome | RM | \n|---|---|\n| Arthur Cotrick Pagani | RM554510 |\n| Diogo Leles Franciulli | RM558487 |\n| Felipe Sousa de Oliveira | RM559085 | \n| Ryan Brito Pereira Ramos | RM554497 | \n| Vitor Chaves | RM557067 | \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fryanbritodev%2Ftorque-mobile-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fryanbritodev%2Ftorque-mobile-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fryanbritodev%2Ftorque-mobile-app/lists"}