Pitch: Módulo e API que retorna todas as marcas e modelos de veículos do mundo?
Eu sinceramente não sei onde estava com a cabeça. Mas isso foi necessário para uma situação bem específica, que eu poderia ter feito só mais um serviço no back-end da aplicação, ou melhor, salvar tudo em um banco de dados mesmo, que depois é só consultar. Mas eu precisava ter uma experiência diferente.
Do que estou falando?
Estou na equipe front-end na minha empresa e estamos desenvolvendo um app de entregas. Mas isso não tem a ver com o assunto do título.
Me encontrei em uma feature que me fez ter essa pequena ideia: cadastro de veículo do usuário (motorista).
No primeiro momento eu simplesmente deixei um input text para que o usuário tenha a liberdade de escrever o nome do modelo e da marca do seu veículo. Porém isso não da muito certo. Se esperar, depois de um mês vai ter um registro no seu banco de dados "volksvagem" pelo simples fato do usuário digitar errado sem querer ou talvez nem saber escrever o nome da marca. No problem!
Foi ai que eu fui atrás de API's que me retornassem esses nomes para que eu desse a escolha em um select, por exemplo, e isso facilitaria tanto pra mim quanto para quem for usar. Sem êxito... Foi ai que a chave virou.
E já que estamos em um lugar que se deu inicio ao querido Filipe Deschamps, vamos lembrar daquele video dele maravilhoso sobre o CEP Promise, e com base nisso, vocês já sabem o que vem depois.
--
Fetchicles
Uma lib criada para devolver todas as marcas e modelos de veículos do mundo.
--
Original? Não sei (risos).
Sim, criei uma API e um módulo npm que tem o objetivo de fazer isso, e feras, foi uma experiência incrível!! Criar a API foi tranquilo, pois é de nós mesmos, DEVs, ta na massa do sangue. Mas um módulo? Primeira vez! E foi muito bom, criar, publicar, e o melhor, instalar no projeto do app da empresa e simplesmente estar lá funcionando. Sensacional!
E eu precisava compartilhar essa sensação e o resultado dela.
Estou falando do Fetchicles (fetch + vehicles). E visualizem que com um simples:
import { brands } from "fetchicles";
const carBrands = await brands("CAR");
Você obtêm:
[
"Ford",
"Chevrolet",
"Fiat",
"Citroen",
"Honda",
"Hyundai",
"Renault",
"Toyota",
"Volkswagen",
]
E feras, não vou explicar como funciona instalação e nem uso pois vocês podem consultar na documentação no repo. Mas aqui para dizer que também sou apaixonado pela comunidade open source, e sim, caso tenham gostado, queiram usar, contribuir, dar um feedback, fiquem à vontade. Mas caso não tenham interesse ou não achem uma boa ideia, sem problemas, dê o seu feedback também, retornos "negativos" são também de grande valia quando sabemos aproveitar. E não possuo tanto tempo para estar focando em atualizar a lib e a API, mas sempre que posso estou modificando algo e adicionando novos dados.
Acesse os links para o repositório da API e do módulo:
E é isso! 👌