COMO ESCALAR? Como auto completar os 5200 municípios do Brasil para milhares de usuários?

แชร์
ฝัง
  • เผยแพร่เมื่อ 11 ก.พ. 2025
  • Eu tenho certeza que você já precisou fazer um autocomplete de algum dado nacional. Bancos, Estados, Cidades... felizmente a comunidade BR se uniu e transformou o BRASIL numa API! Sim, nesse vídeo vou mostrar como você pode usar a BrasilAPI pra pegar os dados de municipios do IBGE, que eu tenho certeza que pode ser diferencial em algum sistema seu, quando o CEP não for o suficiente. FIcou curioso pra ver mais sobre? Solta o play e bora ver! 🧑‍💻
    ✅ Miro: miro.com/app/b...
    ✅ Obrigado ‪@FilipeDeschamps‬ ! brasilapi.com.br/
    🔸 Link importantes para VOCÊ! (e pra me ajudar a continuar trazendo conteúdo!)
    ✅ Tem dúvidas sobre arquitetura de camadas? Tratamento de erros? Quais as bases para colocar um projeto no ar de forma automática com Integração Contínua? Conheça meu curso do canal o Construindo CRUDs com qualidade hotm.art/mWYNKk3
    📰 Quer receber as novidades do canal antes de todo mundo? mariosouto.com...
    🛒 Sabia que eu tenho uma lojinha? comprou pelos links você me ajuda muito! mariosouto.com...
    🔸 Quer ver mais conteúdos meus? Segue ai!
    🌐 mariosouto.com/
    🐦 / omariosouto
    📸 / devsoutinho
    💬 mariosouto.com...
    #BrasilAPI #Municipios #Whiteboard

ความคิดเห็น • 120

  • @DevSoutinho
    @DevSoutinho  9 หลายเดือนก่อน +3

    ✅ Tem dúvidas sobre arquitetura de camadas? Tratamento de erros? Quais as bases para colocar um projeto no ar de forma automática com Integração Contínua? Conheça meu curso do canal o Construindo CRUDs com qualidade hotm.art/mWYNKk3

    • @marcosvinicios282
      @marcosvinicios282 9 หลายเดือนก่อน

      e só pesquisar json municípios e estado aparece no GITHUB só colocar no o javascript implementar no option do select do html e muito facil

  • @FilipeDeschamps
    @FilipeDeschamps 9 หลายเดือนก่อน +54

    2:12 showwwwww meu queridão!!!! muito massa ver o BrasilAPI aparecendo no seu canal 💪

    • @DevSoutinho
      @DevSoutinho  9 หลายเดือนก่อน +8

      DEEEESCHAMPS 🫂 valeu você pela iniciativa!!!

    • @ofamigeradoudd
      @ofamigeradoudd 9 หลายเดือนก่อน +8

      Teló... cadê vc?

  • @devHB
    @devHB 9 หลายเดือนก่อน +5

    Esse conteúdo com foco na resolução do problema é perfeito.
    Tutorial passo a passo é "pescaria".
    Conteúdo provocativo é inspiração.
    Vlw Soltinho 👊

    • @DevSoutinho
      @DevSoutinho  9 หลายเดือนก่อน +1

      Valeu pelo feedback meu querido!!! 😍 segunda ou terça vem a próxima parte 🔥

  • @programadorpython
    @programadorpython 9 หลายเดือนก่อน +1

    Belo video!
    Uma outra alternativa para evitar a consulta no brasilapi em tempo de requisição seria um script para atualizar o s3 1 vez ao mês.
    No cenário de novos municípios, não tem problema 1 mês de atraso da nova informação, afinal não é todo mês que surge novos municipios kkk
    Melhor ainda seria se o brasilapi retornasse o count de municipios consolidado, dessa forma nem precisaria bater na api se o count não atualizar.

    • @DevSoutinho
      @DevSoutinho  9 หลายเดือนก่อน +1

      Peerfeito! \o\

    • @DevSoutinho
      @DevSoutinho  9 หลายเดือนก่อน +1

      Inclusive, saiu o vídeo novo com várias dicas pra resolver isso pra valer!

  • @ets2playerbr
    @ets2playerbr 9 หลายเดือนก่อน +1

    Primeiro, uma observação: quando Tocantins foi criado, não surgiram novos municípios. Eles já existiam, só que eram goianos. Ao desmembrar o estado de Goiás em 2, esses municípios passaram a ser tocantinenses. Eu não sei se mudaram os CEPs, acho que não, porque eles estão muito próximos dos de Goiás. Considerando que é uma continuação de Goiás, acho que continuam sendo os mesmos. Referente a consulta, acho que uma saída interessante pode ser ir armazenando os CEPs pesquisados em uma lista local. Então, em uma requisição, pesquisa primeiro localmente. Se o CEP já foi pesquisado antes, ele estará na lista. Caso não seja encontrado, vai pra fonte externa. Eu implementaria um arquivo json que iria sendo editado em tempo real com os novos dados acrescentados.

  • @crisgonn
    @crisgonn 9 หลายเดือนก่อน +3

    Tenho interesse sim! Vai ser top ver essa implementação

    • @DevSoutinho
      @DevSoutinho  9 หลายเดือนก่อน

      Da uma olhada na aba comunidade 🥷🔥

  • @ricsilvavideos
    @ricsilvavideos 9 หลายเดือนก่อน +2

    Cara, esse conteúdo vale OURO! Adorei a abordagem em cima do problema e da solução e não em cima do código. Bom demais!!! Você conseguiu trazer pro vídeo a realidade do dia a dia de quem programa de verdade! Foda!!! Parabéns!!! E obrigado.

    • @DevSoutinho
      @DevSoutinho  9 หลายเดือนก่อน +1

      Vaaaaleu pelo feedback meu querido! 😍 a meta é fazer com que independente da linguagem a pessoa aproveite o conteúdo /o

  • @RamonCidade
    @RamonCidade 9 หลายเดือนก่อน +1

    Muito bom o vídeo, acho que vale enfatizar com quem tá iniciando é que a grande sacada para solucionar esse problema é a estrutura de dados correta: o mapa ou chave-valor
    Um redis ou memcached também cairia bem

    • @DevSoutinho
      @DevSoutinho  9 หลายเดือนก่อน

      Perfeito!!! No vídeo sequência que saiu essa semana em cima desse, eu trago esse exemplo logo de cara 🤝

  • @MilsonPazienza
    @MilsonPazienza 9 หลายเดือนก่อน +1

    Muito bom, parabens pelo vídeo e ganhou um novo inscrito.

    • @DevSoutinho
      @DevSoutinho  9 หลายเดือนก่อน

      Muuuuuuito obrigado meu querido!

  • @herickprazeres
    @herickprazeres 9 หลายเดือนก่อน +1

    Muito top essa aula e essa forma de um mapa mental da funcionalidade para auto completar. Com certeza gostaria de ver a implementação de como gravar esses arquivos no Azure. Parabéns pelo conteúdo.. toooop demais..

    • @DevSoutinho
      @DevSoutinho  9 หลายเดือนก่อน

      Valeu pelo feedback! Tem 2 vídeos nessa pegada já, o anterior eu explico como o React sobe um local host 3000 no comando npm run dev /o

  • @FelipedosSantosAssis
    @FelipedosSantosAssis 9 หลายเดือนก่อน +1

    Salve Mário!!! Um cenário bem trivial mas nos leva a soluções interessanntissimas! Este seria um caso bem interessante em usar soluções como o Redis. Não só isso, mas da uma idéia bem simples e pratica onde podemos adotar técnicas para cacheamento.

  • @Gustavo_Brust
    @Gustavo_Brust 9 หลายเดือนก่อน +1

    Muito interessante! Ficou bem explicado o conteúdo, acho que você deveria trazer mais vezes o desenvolvimento da ideia no whiteboard por quê ficou algo bem facil de assimilar.

    • @DevSoutinho
      @DevSoutinho  9 หลายเดือนก่อน +1

      Já tem um video da semana passada, mas já tô gravando o próximo hehe

  • @badempower
    @badempower 9 หลายเดือนก่อน +1

    Fala Coutinho, muito foda esse vídeo parabéns🎉🎉🎉 um ponto que posso acrescentar é que nao é tao incomum "surgirem" novos municípios, pelo motivo dinheiros... o Brasil tem muitos distritos de cidades que quando se transformando em cidade começam a receber verba federal como tudo depende do número de habitantes vale a pena ficar ligado nisso no plano B pra estar semipresencial atualizado

    • @DevSoutinho
      @DevSoutinho  9 หลายเดือนก่อน

      Perfeito! Valeu pelo feeeback 😍😍😍 isso aí é bom de encaixar um fluxo num endpoint de admin da vida

  • @cuca_dev
    @cuca_dev 9 หลายเดือนก่อน

    Muito massa esse conteúdo, com certeza vai expandir o pensamento lógico da galera no design de sistemas além de difundir o uso da Brasil API pra quem ainda não conhece.
    Acho que talvez seja legal manter os processos de white board e deixar a prática como exercício pro pessoal, até porque é muito mais fácil aprender como fazer um “CRUD” no S3 do que ter esse pensamento de design de sistemas.

  • @eduardoferras5228
    @eduardoferras5228 9 หลายเดือนก่อน

    Parabéns pelo conteúdo, principalmente sua explicação detalhada de cenários e gostaria muito que fizesse um vídeo sobre a implementação do S3 funcionando neste cenário.

  • @wesleyjcr
    @wesleyjcr 9 หลายเดือนก่อน +1

    Parabéns pelo vídeo, muito bom!

    • @DevSoutinho
      @DevSoutinho  9 หลายเดือนก่อน

      Vaaaaleu 😍

  • @Slipdan
    @Slipdan 9 หลายเดือนก่อน +1

    Grande vídeo.
    Em um projeto do ano passado me deparei com esse problema. Acabei fazendo o seguinte: Um Json com os estados bem parecido com o que o CHATGPT gerou pra ti.
    No dropdown com os estados, quando o user escolhia o estado eu chamava uma função pra popular o dropdown das cidades com os dados da base da api do IBGE.
    Hoje vejo que não é o mais correto e tem alguns erros que poderiam acontecer que nunca seriam explicados ao user mas na época pareceu uma boa idéia.
    Apesar disso o sistema não tem imensas requisições pois é um sistema interno. Mas na época considerei salvar os municipios manualmente tb.
    Agora com o seu vídeo fiquei bastante curioso sobre essa possibilidade de utilizar a AWS e já estou na fila para esse novo vídeo.

    • @DevSoutinho
      @DevSoutinho  9 หลายเดือนก่อน +1

      Booooaaa!!! Valeu pelo relato, ele tá no forno aqui 🥘

  • @petregluiz
    @petregluiz 9 หลายเดือนก่อน +2

    @DevSoutinho tem uma opção no S3 de colocar um TTL no arquivo, assim vc bateria no seu cachê, se o arquivo existir, consome ele, se não, busca da API e salva ele no S3.

    • @DevSoutinho
      @DevSoutinho  9 หลายเดือนก่อน

      GENIAL! Não sabia dessa

  • @leuofiridia
    @leuofiridia 9 หลายเดือนก่อน +1

    Eu não iria no S3 pra essa solução específica, meteria um memory cache no backend mesmo, ou um Redis

    • @DevSoutinho
      @DevSoutinho  9 หลายเดือนก่อน +1

      Mas pensa que tu precisa ter a persistência disso em algum nível. Se tu desligar e ligar o sistema algum nível de guardado fixo do cachê tu tem que ter saca?

  • @AlbanoMaywitz
    @AlbanoMaywitz 9 หลายเดือนก่อน

    Boa Noite Souto, adorei o conteúdo!! Adoraria ver como seria implementar algo assim!

  • @CaioLemos-GraduacaoNerd
    @CaioLemos-GraduacaoNerd 9 หลายเดือนก่อน +1

    Conteúdo bom demais! Sou de fã meu parceiro

  • @danricardo
    @danricardo 9 หลายเดือนก่อน +1

    Gostei do vídeo ! lança o Ep 2

    • @DevSoutinho
      @DevSoutinho  9 หลายเดือนก่อน

      Ta na edição já!

  • @CaioLemos-GraduacaoNerd
    @CaioLemos-GraduacaoNerd 9 หลายเดือนก่อน +1

    Em vez de usar a S3, não dá pra utilizar a última forma de salvar junto do projeto (se considerar uma instância ec2 já até aproveita o armazenamento dela) mas adicionando um controle de cache? Daí em vez de salvar um array com os resultados, vai salvar automaticamente um json com um objeto com updated_at e um items contendo os resultados

  • @fabriciolourenco4951
    @fabriciolourenco4951 9 หลายเดือนก่อน

    Em uma Ec2 na aws com banco ClickHouse lendo de um arquivo .parquet baixado do s3 e tendo uma api na ponta lendo desse banco de dados e respondendo às requisições, e um serviço extra, que cria esse arquivo novo todo mes seria uma solução boa? Pois ClickHouse lendo direto de um arquivo .Parquet é mil vezes melhro que ler direto de um arquivo json, pois esse banco de dados faz leitura tabular dos dados .

  • @ViniciusValente
    @ViniciusValente 9 หลายเดือนก่อน

    Se o back for node pode usar também o MEMORY-CACHE. Tem soluções parecidas de cache de variável para outras linguagens.

  • @sidneiferreira5542
    @sidneiferreira5542 9 หลายเดือนก่อน

    Eu fiz algo parecido, mas com arquivo local, baixei o arquivo do banco do IBGE e implementei uma arvore binaria de busca com os estados/municípios já ordenados, sem a arvore ficou muuuuuuuuuuuito lento.

  • @gabrielpapke
    @gabrielpapke 9 หลายเดือนก่อน +1

    Traz mais vídeos de whiteboard, achei da hora

    • @DevSoutinho
      @DevSoutinho  9 หลายเดือนก่อน

      Tem um da semana retrasada sobre como o react sobe o localhost:3000 na sua maquina

  • @raphaelcomph-dev
    @raphaelcomph-dev 9 หลายเดือนก่อน

    Achei bacana a forma de pensar. Claro que existe 1 milhão de formas de fazer, mas particularmente pra esse caso específico achei muito overengineering as alternativas 1 e 2. Há uns meses atrás precisei fazer um autocomplete e utilizei apenas 1 campo no formato "nome do município (Sigla do Estado)". Coloquei todos os municípios num enum no frontend (tamanho do arquivo ficou em aprox. 330kb) e exibia apenas os 15 primeiros registros a medida que o usuário digitava. Achei a performance mais barata do que uma chamada de API (ou no caso 2 chamadas como a solução 1 e 2).
    Agora uma busca por CEP é bem mais complexa e essas soluções 1 e 2 seriam muito bem aplicadas.

  • @lurickardo2344
    @lurickardo2344 9 หลายเดือนก่อน +1

    Uma duvida, e se eu armazenasse o cache em um Redis se comunicando diretamente front-redis. Teria algum problema?
    Pois assim não precisaria de um backend, ainda estaria cacheado e reduziria muito o processamento.

    • @DevSoutinho
      @DevSoutinho  9 หลายเดือนก่อน

      Olha, EU não faria isso. Pq o meu ponto maior aqui é que se daqui X tempo o BrasilAPI ficar fora do ar, eu quero garantir que eu tenho esse dado pra continuar operando até trocar por uma nova fonte. Isso partindo do ponto que minha infra seria stateless, eu posso desligar e ligar quando eu quiser que tudo volta. O redis nesse caso, até onde eu mexi, seria pra algo mais “temporário” a um nível curto de tempo e não longo prazo. N da pra confiar em ter um cache de 2/3 meses sem de fato persistir em algum lugar, igual eu sugiro persistir o arquivo.
      Faz sentido?

  • @felipe-rodriguees
    @felipe-rodriguees 9 หลายเดือนก่อน

    acredito que seria melhor salvar em cache e usar um job pra fazer a requisição novamente, caso o BrasilAPI esteja fora continua utilizando o cache que está em memória, o erlang/elixir permite fazer isso tranquilamente com GenServer, podendo também salvar em banco ou em arquivo, ou seja, faz uma requisição, salva em memoria e em banco, faz um job pra cada 30 dias, se retornar renova a memoria em cache e em banco e utiliza, como todos os processos são totalmente isolados não teria nada sobrescrevendo em cima de uma memoria cacheada, bem melhor que usar o S3.

  • @yurilsaps
    @yurilsaps 9 หลายเดือนก่อน +1

    Se eu entendi o brasilApi deveria ter um metadata sobre a data da ultima insercao de um novo municipio, ai vc soh faz o dowload do material e faz um request nos "updates do brasilAPI", pode fazer um job pra manter sua base sync com o brasil api rodando uma vez por hora soh pra saber se teve um update. Afinal se entrou um novo minucipio e vc soh vai atualizar o cache em 30 dias, sao 30 dias sem vendas

    • @DevSoutinho
      @DevSoutinho  9 หลายเดือนก่อน +1

      Assim, a gente tá sempre passivo disso acontecer. Mas normalmente algum usuário abre chamado, a gente perde conversão, vê um número constante caindo em X etapa…
      Concordo contigo! O espírito do vídeo é justamente esse pensar em como implementar e tu tá com um BOM PR pra mandar pra eles em 😍

  • @feldinho
    @feldinho 9 หลายเดือนก่อน +1

    eu faria um cloud function (lambda) agendado pra rodar toda semana pra carregar todos os dados de todos os estados e salvar num jsão num object storage (s3).
    se der errado, ele só fica defasado, mas continua funcionando.
    o json vai ter seus 350KB se as chaves forem pequenas, o que não é nada pras conexões de hoje. vira uma requisição só e pra um CDN que não cai nem ferrando e a latência fica zero pro usuário depois do primeiro load.
    lidar com cache é um porre, e o backend não cai se ele não existir. :)

    • @feldinho
      @feldinho 9 หลายเดือนก่อน +1

      explicando o que eu falei sobre o cachê: por mais que esse cache seja sussa, tem que prever condições de “stampede” onde mais de uma requisição dispara a renovação do cache ao mesmo tempo. aí tem que implementar alguma coisa tipo expiração prematura probabilística. me pergunta como eu descobri isso aí. :P

    • @DevSoutinho
      @DevSoutinho  9 หลายเดือนก่อน +1

      Usar lambda é um “plus a mais” top! valeu por compartilhar aqui /o vou trazer num próximo vídeo algo com essa pegada

  • @xFelipeM
    @xFelipeM 9 หลายเดือนก่อน +1

    Obrigado pelo conteudo!

    • @DevSoutinho
      @DevSoutinho  9 หลายเดือนก่อน

      Obrigado você pelo comentário aqui meu querido 😍

  • @brianferreira15
    @brianferreira15 9 หลายเดือนก่อน +1

    A solução 02 é a melhor, porém n acho q usar o S3 seria uma boa, como vc mesmo disse, S3 é um repositório de arquivos, e ler arquivos é demorado, acho q em vez o S3 a melhor abordagem seria usar um redis ou talvez um memcached, e caso os recursos sejam mínimos da pra fazer cache até mesmo em uma base de dados MySQL. mas o ideal mesmo seria no Redis.

    • @DevSoutinho
      @DevSoutinho  9 หลายเดือนก่อน

      O S3 hoje é super rápido e tem os tiers (do mais rápido até o super lento), e depois da primeira leitura vc consegue deixar na RAM. Nesse cenário ficaria melhor que o redis, e vc consegue ter o controle de tempo que eu falei dos 30 dias (partindo do ponto que tudo ficaria stateless)

  • @lucascamargo3329
    @lucascamargo3329 9 หลายเดือนก่อน +3

    Estou fazendo algo parecido em um projeto pessoal. Busco os dados sobre a FIPE do brasil. E pra não ficar batendo sempre da api deles. Eu salvo em um mongodb.

    • @DevSoutinho
      @DevSoutinho  9 หลายเดือนก่อน +2

      Perfeito! Eu acabei optando por não salvar no banco, pq a disponibilidade do S3 HOJE acaba sendo até mais alta daí feito uma vez só deixar na memória carregado e é uma necessidade a menos de conexão :P

    • @lucascamargo3329
      @lucascamargo3329 9 หลายเดือนก่อน +2

      @@DevSoutinho vou tentar implementar dessa forma também. Eu não tinha pensando nisso haha

  • @JavaxTv
    @JavaxTv 9 หลายเดือนก่อน +1

    Ter um backend independente rodando um job na brasil API tipo toda semana, novamente, independente do website e gerando esses arquivos na S3, e seu front buscar direto da s3 tb seria um caminho? ou seria mto overkill? dessa forma estariamos tentando garantir que até mesmo na 'primeira' interaction o front não dependa do brasil api naquele momento

    • @DevSoutinho
      @DevSoutinho  9 หลายเดือนก่อน +1

      Acho que não seria overkill. Mas tu pode aproveitar o próprio request do usuário pra resolver o problema, forma que eu trago no vídeo. Ai você economiza ter algo ligado sempre e só define a cache policy

  • @mamupelu565
    @mamupelu565 9 หลายเดือนก่อน +1

    Eu faria com um banquinho relacional, mas deve ser pq essas águas do S3 são meio desconhecidas para mim. Apoio a ideia de fazer uma explicação bem completa de como tudo funciona.

  • @raulbarros6941
    @raulbarros6941 9 หลายเดือนก่อน +1

    Ótimo vídeo! Parabéns! Ps: curti a camisa da Caelum :D

    • @DevSoutinho
      @DevSoutinho  9 หลายเดือนก่อน

      Bons tempos que eu dava aula lá haha

  • @MichelLacerda
    @MichelLacerda 9 หลายเดือนก่อน

    Para não depender de uma API eu baixei os dados o IBGE uma vez e salvei usando postgis

  • @magaiasoueu
    @magaiasoueu 9 หลายเดือนก่อน +1

    Caso por algum motivo você não deseje depender da disponibilidade de um serviço externo como S3, salvar em memória da aplicação seria uma escolha ruim? Fazendo um update semanal ou requisitando pra brasilApi quando o sistema reiniciar por algum motivo

    • @DevSoutinho
      @DevSoutinho  9 หลายเดือนก่อน

      Não seria! No final do vídeo eu ainda sugiro pra salvar em memória quando o serviço sobe ou na hora que recebe o request 🤝

  • @Gabweb95
    @Gabweb95 9 หลายเดือนก่อน +2

    Tão bom quanto degustar o elixir hahah

    • @DevSoutinho
      @DevSoutinho  9 หลายเดือนก่อน +1

      HAHAHAHAHHA provido pela janela

  • @apenasjoyc
    @apenasjoyc 9 หลายเดือนก่อน +2

    tenho interesse em aprender sim

  • @VoceBR97
    @VoceBR97 9 หลายเดือนก่อน +2

    Interessante essa questão do S3 junto com validação em x dias...

  • @dipereira0123
    @dipereira0123 9 หลายเดือนก่อน +1

    Talvez eu tenha perdido essa explicação no video, mas alguém sabe explicar o pq os correios simplesmente não disponibilizam uma base?

    • @DevSoutinho
      @DevSoutinho  9 หลายเดือนก่อน

      O IBGE disponibiliza uma base. Que o próprio BrasilAPI usa, mas o ponto acaba sendo disponibilidade disso mesmo.

  • @GamersInActionPlay
    @GamersInActionPlay 9 หลายเดือนก่อน +1

    O meu interesse é mais a questão de como realizar esse multiplo dropdown, pois isso ae quando precisei realizar em flutter não consegui achar nenhum conteúdo bom sobre, acabei aprendendo com um professor da Academia do Flutter, mas antes disso eu nem era aluno, então a dificuldade era maior.

    • @DevSoutinho
      @DevSoutinho  9 หลายเดือนก่อน

      Saquei! Na web ele é nativo! Basta usar 2 tags select com options. Que tudo funciona

  • @sergio.808s
    @sergio.808s 9 หลายเดือนก่อน +1

    ótimo video, eu estou estudando uma nova liguagem e estava procurando um projeto legal, posso utilizar o seu miro p criar ?

    • @DevSoutinho
      @DevSoutinho  9 หลายเดือนก่อน +1

      Fica a vontade Sérgio! Fico feliz que tenha curtido 😍

  • @irenaldojs
    @irenaldojs 9 หลายเดือนก่อน +17

    Quem ai pensou em um arquivo javascript exportando um objeto com { estado : [municipios] } levanta a mão 😂

    • @DevSoutinho
      @DevSoutinho  9 หลายเดือนก่อน +2

      Na hora da emergência 👀

    • @tiagocunhafernandes6607
      @tiagocunhafernandes6607 9 หลายเดือนก่อน +6

      O cache não é diferente disso…. É praticamente esse arquivo que está salvo no s3

  • @inaciofabricio5709
    @inaciofabricio5709 9 หลายเดือนก่อน +1

    Eu ja precisei fazer isso, mas eu coloquei tudo em banco de dados mesmo.

  • @denilsonsantosbaptista5334
    @denilsonsantosbaptista5334 9 หลายเดือนก่อน

    Tenho interesse em aprender 😊

  • @kleberribeiro1487
    @kleberribeiro1487 9 หลายเดือนก่อน

    Gostaria de aprender!!!

  • @Jack-ss4re
    @Jack-ss4re 9 หลายเดือนก่อน

    Uma duvida(sou iniciante), a ideia de criar um backend e criar um S3 para guardar os dados do BrasilAPI não atrapalha na performance? Já que quando o frontend fizer a requisição pro nosso backend, o nosso backend vai ter que consultar o dado na S3 pra retornar? Talvez eu tenha entendido errado?

    • @Jack-ss4re
      @Jack-ss4re 9 หลายเดือนก่อน

      Tipo, não seria melhor salvar os dados no nosso próprio servidor backend? Isso seria possível?

  • @aoli_lab
    @aoli_lab 9 หลายเดือนก่อน +1

    Muitos municípios mudam de nome com o tempo... Tem que se ligar nisso.

    • @DevSoutinho
      @DevSoutinho  9 หลายเดือนก่อน

      Sim! Por isso sugiro um update mensal no final do vídeo /o

  • @ribastudio
    @ribastudio 9 หลายเดือนก่อน +2

    vai fazer a parte da S3? Sim ou com certeza?

    • @DevSoutinho
      @DevSoutinho  9 หลายเดือนก่อน

      O povo pede dsuhdhusa

  • @hugoinsider
    @hugoinsider 9 หลายเดือนก่อน

    É simples de resolver...

  • @lucastrias
    @lucastrias 9 หลายเดือนก่อน +1

    Cara, 100k requests de 5000 municípios que atualizam uma vez por século eu sirvo do meu relógio, overengineering sem tamanho discutindo custo. E dois drop-down nao são um auto complete, este sim um problema legal de resolver

    • @DevSoutinho
      @DevSoutinho  9 หลายเดือนก่อน

      Fala Lucas! Tudo bom? Como eu trouxe no vídeo, a própria API sugere que não façamos o full scan e talz. Tentei propor uma forma de consulta sob demanda e que nos traga independência caso eles venham a cair. A lógica em si pode ser aproveitada em vários outros cenários.
      Seja manual ou automático tu vai ter que baixar. Mas é isso, no final não tem jeito certo 🤝

    • @DevSoutinho
      @DevSoutinho  9 หลายเดือนก่อน +1

      E como o volume em si é pequeno, fazer o autocomplete no browser com um throttle/denounce fica sussa, pq tu baixou os dados na hora que seleciona o estado /o

  • @mrblackcarneiro
    @mrblackcarneiro 3 หลายเดือนก่อน

    A solução é simples. Salva os estados e municípios num banco de dados relacional. Em seguida, cria uma view materializada ou usa um redis da vida para cache. Pronto, é só criar seus endpoints chamando essa estrutura.

  • @luizvaz
    @luizvaz 9 หลายเดือนก่อน

    Caramba, ninguém conhece _Rate Limit_ e _Redis_ ???
    Outra coisa, não haverá novos municípios.
    A constituição de 1988 proibiu a criação de novos.

  • @AlexFelipeDev
    @AlexFelipeDev 9 หลายเดือนก่อน +1

    Nesses casos que o dado não muda tanto, eu curto a ideia de salvar em armazenamento local, como é o caso de um SQLite da vida ou algo similar.
    Quanto a atualização, pode usar flags que impedem de buscar online e pegar offline inicialmente, então aplica uma regra para alternar o valor da flag, seja usando datas ou algum tipo de websocket/feature flag que permite uma aplicação externa de indicar quando é necessário fazer a atualização.

  • @ThaylorCarvalho
    @ThaylorCarvalho 9 หลายเดือนก่อน +2

    Manda a implementação!

    • @DevSoutinho
      @DevSoutinho  9 หลายเดือนก่อน

      O link do whiteboard com o código base tá na descrição /o aí fica faltando só a parte do s3 mesmo hehe

  • @rodolfosantos2120
    @rodolfosantos2120 9 หลายเดือนก่อน +1

    Agora coloca listagem de bairros nesse BO aí

    • @DevSoutinho
      @DevSoutinho  9 หลายเดือนก่อน

      Existem limites Rodolfo ahahahahh mas por CEP a lógica seria parecida /p

  • @carlosamorim94
    @carlosamorim94 9 หลายเดือนก่อน +1

    Adoro seu conteúdo, pois não aprendemos a simplesmente codar igual maluco, vc ensina ENGENHARIA DE SOFTWARE e pensamento analítico!

    • @DevSoutinho
      @DevSoutinho  9 หลายเดือนก่อน +1

      Valeu demais pelo comentário 😍 a meta é essa mesma, ir variando nos assuntos e sempre trazer problemas legais 🤝

  • @brunogomes2909
    @brunogomes2909 9 หลายเดือนก่อน +1

    Pelo amor de Deus Mario! Tem criança chorando e idoso passando mal aqui esperando a continuação desse vídeo com a implementação rs

    • @DevSoutinho
      @DevSoutinho  9 หลายเดือนก่อน

      Hahahahahah olha! Tirando a parte do S3. O código do vídeo tá lá no miro, só pegar /o

  • @jadsonmedeiros6815
    @jadsonmedeiros6815 9 หลายเดือนก่อน +1

    Na minha humilde opinião, usar sistema para dependendo de serviços externos é perigoso e se deve ao máximo desacoplar isso. Mesmo fugindo de chamadas constantes ao BrasilApi, ainda teria um serviço de backend externo que meso sendo mais robusto, também pode ficar indisponível com muitas chamadas. Eu ainda iria de uma chamada a api para pegar os dados uma vez no mês por exemplo só para atualizar os dados que eu inseri localmente, já que não mudam tão frequentemente.

    • @DevSoutinho
      @DevSoutinho  9 หลายเดือนก่อน +1

      Total! No finalzinho do vídeo eu levanto essa

  • @FelipeMarkson
    @FelipeMarkson 9 หลายเดือนก่อน +1

    Muito legal! Um pouco de over engineer... Mas bem didático.
    Acho que minha solução seria SQLite em memoria + arquivos sem S3.
    Novos municípios são muito raros de acontecer.
    Quando acontecem, são geralmente inexpressiveis em receita.
    Quando for necessário, só fazer uma mudança no arquivo que está no repositório git :)

    • @DevSoutinho
      @DevSoutinho  9 หลายเดือนก่อน

      Justissimo!

  • @dooh2
    @dooh2 9 หลายเดือนก่อน +1

    Eu só pensei em pesquisar no gpt 😂🤦🏻 (iniciante na área é f#da😂)

    • @DevSoutinho
      @DevSoutinho  9 หลายเดือนก่อน +1

      Hahahahahaha faz parte! O importante é botar em prática pra garantir que ele passou certo

  • @fernandobranco2443
    @fernandobranco2443 9 หลายเดือนก่อน +1

    Boa Esperança do Norte (MT) é a primeira cidade a estrear nas urnas desde 2012, mas realidade ainda destoa de surto de emancipação dos primeiros anos de redemocratização no Brasil
    Cidade foi criada esse ano 😮

  • @italopereirabarbosa733
    @italopereirabarbosa733 9 หลายเดือนก่อน +1

    Mario parece que tu vê vídeo de uma galera do Tibia viu kkkkk

    • @DevSoutinho
      @DevSoutinho  9 หลายเดือนก่อน +1

      Você nunca viu eu e o Nalu no mesmo vídeo né? 👀

    • @italopereirabarbosa733
      @italopereirabarbosa733 9 หลายเดือนก่อน

      @@DevSoutinho Hahahahaha
      Boa

  • @FilipeASantana
    @FilipeASantana 9 หลายเดือนก่อน

    Você não pode ser preso!