Criando API completa com NODEJS + TypeScript e MongoDB

Поділитися
Вставка
  • Опубліковано 26 лис 2024

КОМЕНТАРІ • 138

  • @LuisFergulha
    @LuisFergulha 8 місяців тому +16

    Pra quem não conseguiu rodar o comando tsc --init:
    No package.json coloca "tsc":"tsc" nos scripts e depois roda o comando com npm run tsc -- --init
    Ainda não sei porque isso acontece, mas foi assim que resolvi.

    • @victorpereira4788
      @victorpereira4788 8 місяців тому +18

      Eu consegui através do comando npx tsc --init

    • @gustavopazolini2330
      @gustavopazolini2330 4 місяці тому +2

      ​@@victorpereira4788 Valeu no meu deu certo só assim tbm

  • @BrunoAlves-ws6zs
    @BrunoAlves-ws6zs Рік тому +26

    De longe melhor curso que já comprei foi com esse cara, não cheguei a terminar porque consegui um emprego que teria de focar em .Net , mas a didática dele é fenomenal.

    • @Sujeitoprogramador
      @Sujeitoprogramador  Рік тому +4

      Tamo juntoo demais e sucesso demais na sua jornada 🔥🤘🤘

    • @thiagomenezes8975
      @thiagomenezes8975 7 місяців тому

      Q curso man ? tem o link ? queria conhecer os cursos dele, amei a forma simples de explicar dele

    • @BrunoAlves-ws6zs
      @BrunoAlves-ws6zs 7 місяців тому

      @@thiagomenezes8975 O que comprei foi a Fabrica de Apps, focado em desenvolvimento mobile com React Native, muito bom.

  • @neheb25
    @neheb25 11 днів тому +1

    Clareou bastante minhas dúvidas, ótimo vídeo!

  • @gersuer
    @gersuer Рік тому +13

    Essa série do back ao front vai ser épica!

  • @BarouRGE
    @BarouRGE Рік тому +7

    As vezes fico desanimado,mas esse canal me anima muito. Canal sensacional 👏

  • @vbpip
    @vbpip Рік тому +2

    As vezes eu acho que o Matheus le meus pensamentos skaksaksaksakas estava com uma pulga atras da orelha sobre comocriar uma API quebrandoa cabeça ai ele me vem com literalmente oque eu precisava kasksakaskksakask parabens pelo conteudo continue assim tmj 🚀🚀

  • @alecyalcin7567
    @alecyalcin7567 3 місяці тому

    Maravilhoso! Fácil de entender, e o mais importante, didático! Muitos tutoriais desses na gringa presumem que você tenha conhecimentos de pacotes que, para quem está iniciando, não faz a menor ideia. Você explicar o motivo de tudo, muito bom!!

  • @renatomarcondes2293
    @renatomarcondes2293 Рік тому +4

    Matheus, a sua didática é a melhor, eu aprendi back-end com você, na Fábrica de Apps. Obrigado pelo conteúdo, abraços.

  • @JoaoVictor-fj6xp
    @JoaoVictor-fj6xp 9 місяців тому +2

    Você poderia fazer um video ensinando a fazer a parte de criptografia de senha numa pagina de cadastro, usando o fastify para rotas e mostrar para a gente como funciona as sessões em nodejs, seria incrivel

  • @tailanpatrick
    @tailanpatrick 2 місяці тому +1

    Incrível, acompanhei para gravar um blob na base de dados e deu tudo certo, claro, com algumas alterações, parabéns por esse conteúdo!

  • @EduardoRodriguesCorrea-h1n
    @EduardoRodriguesCorrea-h1n 2 місяці тому +1

    Cara você é o divisor de água, muito top suas vídeo aulas, continue criando seus conteúdos sobre Banckend MongoDB. Show de Bola.

  • @amiltonpicelli
    @amiltonpicelli Місяць тому

    Cara você é o divisor de água, muito bom os seus vídeos, utilizei o mysql para fazer o exemplo do video e ficou show de Bola., Parabéns

  • @marlonmnz
    @marlonmnz Рік тому +3

    Oloko Matheus! Do nada esse conteúdo absurdo! Ai sim!

  • @GustavoSilvaRamos-t6i
    @GustavoSilvaRamos-t6i Місяць тому

    pra quem nãoconseguiu rodar o tsc --init só rodar : npm install -g typescript
    isso vai instalar ele global depois disso só rodar o comando:tsc --init

  • @alexandramoura2918
    @alexandramoura2918 Рік тому +4

    vc é mt foda, tava precisando exatamente disso, js no backend e conexão com bd 😩🙏🏻

    • @Sujeitoprogramador
      @Sujeitoprogramador  Рік тому +1

      Boaa, tamo junto demais já compartilha o vídeo pra ajudar mais gente 🔥

    • @gmartins-dev
      @gmartins-dev Рік тому

      @@Sujeitoprogramador qual o link pro repositorio do projeto por favor?

  • @GleristonCastro
    @GleristonCastro Рік тому +3

    Que presente heim! novinho o vídeo e vamos praticar!

  • @Arthur-Guti-2110
    @Arthur-Guti-2110 9 місяців тому +1

    Você é FERA BICHO! Seus videos são unicos, não tem nada igual nesse Youtoba

  • @fcrispim2012
    @fcrispim2012 7 місяців тому +1

    Sensacional! Um dos melhores canais que encontrei :)

  • @LucasCunha-v7i
    @LucasCunha-v7i Рік тому +1

    Muito bom Matheus tenho seus cursos, e gosto muito da forma que você ensina as coisas.

  • @JoaoVictor-fj6xp
    @JoaoVictor-fj6xp 9 місяців тому +2

    você é incrível cara, ótima didática

  • @ricardosousa7946
    @ricardosousa7946 9 місяців тому +1

    Excelente conteudo, parabens, bastante util 😊
    Gostava de usar este exemplo de backend mas no front gostaria de usar react native.
    Acha que daria desta forma? Como funcionaria a questao das rotas ai no backend uma vez que no native nao temos os endpoints?
    Muito obrigado.🎉

  • @joaohenrique9949
    @joaohenrique9949 6 місяців тому +2

    Cara voce é incrivel, muito obrigado pelos ensinamentos

  • @CarlosAlmeida1962
    @CarlosAlmeida1962 9 місяців тому +1

    Obrigado Matheus. O seu exemplo de backend ajudou bastante.

  • @rodrigo140696
    @rodrigo140696 8 місяців тому +1

    Galera a opção --save não é mais necessária após o npm 6, pois coloca automaticamente dentro do package.json a dependência

  • @keyssongomes2607
    @keyssongomes2607 6 місяців тому +1

    Excelente aula, muito obrigado, esse projeto vai me ajudar bastante no desenvolvimento dos meus próximos sistemas.

  • @fheonix5
    @fheonix5 Рік тому +2

    opa cheguei, bora galeraaaa

  • @saulking7919
    @saulking7919 Рік тому

    Quando eu tiver condições com certeza vou adquirir o seu curso, que didática incrível!!

  • @luizfigueiredo1215
    @luizfigueiredo1215 9 місяців тому +1

    Excelente sua didática

  • @lyrisnunes2062
    @lyrisnunes2062 Рік тому +4

    Aprendendo com o melhor ❤

  • @brunoarrm
    @brunoarrm Рік тому

    Completei a aula, muito grato! Meus parabens irmão, nem todos tem essa qualidade que tu tem para ensinar a nós, novatos.

  • @joaoisisnaldo3021
    @joaoisisnaldo3021 6 місяців тому +1

    MUITO BOM MATHEUS TU É FERA!!!!

  • @CARLOSEVERTONALVESMANGUEIRA
    @CARLOSEVERTONALVESMANGUEIRA 9 місяців тому +2

    Você foi gigante!!!!! parabéns pelo conteúdo e pela didática.

  • @wesleysnaytz
    @wesleysnaytz 9 місяців тому +9

    Só pra relatar que o comando tsc --init só funcionou com o comando npm install typescript -g.

  • @humbertoromanojr
    @humbertoromanojr 8 місяців тому +2

    Valeu meu amigo, ótimo video, estava precisando para relembrar

  • @fheonix5
    @fheonix5 Рік тому +2

    massa esse fastify hein, conhecia só o express. curti

  • @danfealmeida
    @danfealmeida Рік тому +1

    Cara é isso que falta nas lives brasileiras. Faltou apenas o findUnique() e o update() pra ficar um crudzin top. Mas tá filé.

    • @thiagomenezes8975
      @thiagomenezes8975 7 місяців тому

      to tentando fazer o update, alguma ideia Daniel ? tks

  • @JorgeTeixeira-u4w
    @JorgeTeixeira-u4w Місяць тому

    Uma dúvida, no caso é uma boa prática criar um service e controller para cada função que realizaremos, até agora eu sempre criava por exemplo customerService ou customeraController e envolvia tudo lá dentro

  • @lislailapereira
    @lislailapereira 2 місяці тому

    Muito bom o vídeo, ótima didática!

  • @markus_dev_cwb
    @markus_dev_cwb Рік тому +1

    Matheus é Brabo! Top d+.

  • @manoelbruno392
    @manoelbruno392 11 місяців тому +2

    Conteúdo maravilhoso man!

  • @leandrohenrique2598
    @leandrohenrique2598 Рік тому +2

    excelente aula

  • @eltonsantosoficial
    @eltonsantosoficial Рік тому

    Complementa um pouco esse Todo ai por favor, coloca pelo menos um login logout, e um sistema de rotas, pra deixar alguma rota privada. Todo é sempre muito igual ao outro. Sua didática é muito boa

  • @igorsena8320
    @igorsena8320 10 місяців тому

    Matheus, você poderia mostrar aqui no canal como poderiamos vender essas Apis no Rapid Api

  • @tiberiolima
    @tiberiolima Рік тому

    Excelente treinamento. Poderia gerar um material para add swegger ? Completei a aula sem problemas.

  • @ronerolin9412
    @ronerolin9412 6 місяців тому +1

    Eu nao tenho experiencia, estava treinando, mas quando fui cheguei nessa parte( const customer = await prismaClient.customer.Create({), nao executa mas fala que nao existe custumer na cliente prista. Qria testar para ver se eu ia gostar para fazer o curso parecia ser muito interessante

  • @randolaaleatorio3917
    @randolaaleatorio3917 10 місяців тому +1

    conteúdo sensacionaaal !!!

  • @Hazooxd
    @Hazooxd Рік тому +1

    Parabéns um excelente projeto.

  • @darlanmartins7546
    @darlanmartins7546 10 місяців тому

    que aula incrível, só tenho uma dúvida, eu sou acostumado a usar o express tem alguma diferença do express para o fastify além da sintaxe?

  • @felipebiondes5434
    @felipebiondes5434 8 місяців тому +1

    Brabo demais, eu sempre usei o xpress, mas o fastify tbm é otimo. to doido pra implementar no meu app. só não sei como corrigir um quase erro, eu uso o process.env.PORT como variavel de hambiente para a porta da api, pois quero postar a api no render e lá usa essa variavel para disponibilizar a porta, aí no codigo diz que é do tipo string mas é um int. se souber como corrigir me avise.

  • @MestreFlouSoluçõesDigitais
    @MestreFlouSoluçõesDigitais 10 місяців тому +2

    Valeu !

  • @salguodnandes4538
    @salguodnandes4538 7 місяців тому +1

    Pultz... pq não posta o código na descrição?

  • @GustavoShoitiSonoda-m2w
    @GustavoShoitiSonoda-m2w 8 місяців тому +1

    Muito obrigado pelo video

  • @WilsonStosGoncalves
    @WilsonStosGoncalves Рік тому +1

    Muito bom. Parabéns!!!

  • @diegosantos4387
    @diegosantos4387 7 місяців тому +1

    No final do vídeo, na hora do DELETE, aparece esse erro no insomina
    {
    "statusCode": 500,
    "error": "Internal Server Error",
    "message": "(intermediate value).handle is not a function"
    }
    a rota de DELETE diz que não existe o método handle, já quebrei a cabeça e não consegui

  • @joabsonSants
    @joabsonSants Рік тому +1

    Show como sempre conteúdo TOP!

  • @aghorastore
    @aghorastore 9 місяців тому +1

    Property 'setErrorHandler' does not exist on type 'FastifyInstance & PromiseLike
    Fala mestre sabe com resolver esse BO, parece ser algo de configuracao?

  • @bypaizao8677
    @bypaizao8677 Рік тому

    Faz um video puxando informações com o prisma no Mssql (falta muito conteudo sobre esse banco de dados)

  • @anselmonascimento3324
    @anselmonascimento3324 Рік тому +2

    Muito show, top!!!

  • @mayconrocha8723
    @mayconrocha8723 Рік тому +1

    Sensacional! 🚀👨🏾‍💻👏🏾

  • @samuelesdras
    @samuelesdras 10 місяців тому +2

    Muito bom!!

  • @LucasViana-gx3fc
    @LucasViana-gx3fc 5 місяців тому +1

    o meu dica dando esse erro:'tsx' não é reconhecido como um comando interno
    ou externo, um programa operável ou um arquivo em lotes.

  • @manufrancisco490
    @manufrancisco490 Рік тому +1

    Sensacional!

  • @andreioliveira6132
    @andreioliveira6132 2 місяці тому +1

    Quem mais tá vendo esse vídeo fera em 2024 ?

  • @MateusBolito-p8y
    @MateusBolito-p8y 8 місяців тому +1

    cara estou com error 500 "internal server error", porem eu fiz tudo igual oque pode ser?

  • @lucianosirio8749
    @lucianosirio8749 2 місяці тому

    Sujeito como faço para incluir neste projeto uma feature "Editar" para o usuário?

  • @dcpoffo
    @dcpoffo Рік тому

    Professor, tô meio que caindo de paraquedas aqui...
    Eu precisava criar um backend onde eu teria tabelas com relação entre si. E posteriormente, o meu front seria em Reactnative. É um app bem simples pra têxtil (cadastro de produtos/materiais, entrada/saidas, controle estoque, etc). Eu consigo fazer tudo isso, usando esse mesmo backend? Ou teria uma outra abordagem?
    Obrigado!

  • @GabrielRochaPimentel-z7k
    @GabrielRochaPimentel-z7k 8 місяців тому +1

    Alguém pode me ajudar, eu não consigo resolver este erro. Já reiniciei, tentei criar um novo banco de dados do zero e nada resolve throw new Error(\"Preencha todos os campos\");
    12 }
    13
    → 14 const customer = await prismaClient.customer.create(
    Error in connector: Error creating a database connection. (Kind: An error occurred during DNS resolution: request timed out, labels: {})

  • @macedo_jose
    @macedo_jose Рік тому +1

    Que video top!!

  • @talissondias3159
    @talissondias3159 Рік тому +1

    🔥🔥🔥 cheguei

  • @lucasdonato1149
    @lucasdonato1149 6 місяців тому +1

    Compartilha o código por favor

  • @Drew7795
    @Drew7795 Рік тому +1

    Booooooraaaaaaaa!

  • @alexandrooliveira2670
    @alexandrooliveira2670 4 місяці тому

    teria como comunicar o prisma com MySql?

  • @eduardoamaralrj
    @eduardoamaralrj Рік тому +2

    4:27 . Boa tarde, quando digitei na pasta backend o comando: tsc --init, deu erro e não funcionou igualmente ao vídeo.

    • @Sujeitoprogramador
      @Sujeitoprogramador  Рік тому +2

      Você porde rodar no seu cmd:
      npm install -g typescript
      E depois rodar o:
      tsc --init

    • @cabecadecofre
      @cabecadecofre Рік тому +2

      deu o mesmo erro, mas ja consegui resolver. coloca NPX TSC --INIT que vai dar bom

    • @Sujeitoprogramador
      @Sujeitoprogramador  Рік тому +2

      @@cabecadecofre boa caso nao queira instala global ele ai pode usar o npx sim 🤘

  • @mamutygamerfurtivo3783
    @mamutygamerfurtivo3783 10 місяців тому

    Ótimo video mas faltou o update.

  • @wesleyrodrigues7635
    @wesleyrodrigues7635 2 місяці тому

    Tem como consumir essa api no react Native??

  • @flaviomatheus3152
    @flaviomatheus3152 3 місяці тому

    galera, alguem me da uma ajuda pfv?
    Eu nao tenho experiencia, estava treinando, mas quando fui cheguei nessa parte( const customer = await prismaClient.customer.Create({), ele da error e exibe error: error validating field `id` in model `customer`

  • @ronaldonascimento9676
    @ronaldonascimento9676 Рік тому

    Posso usar essa base que tem aqui para criar qualquer api na parte do back-end com node js ?

  • @marceloboaria
    @marceloboaria Рік тому +1

    Não consigo adicionar o comando 'tsc --init', ele me avisa que não é reconhecido como um comando interno
    ou externo, um programa operável ou um arquivo em lotes.

    • @Sujeitoprogramador
      @Sujeitoprogramador  Рік тому +1

      Opa pode apenas rodar: npx tsc --init

    • @marceloboaria
      @marceloboaria Рік тому

      @@Sujeitoprogramador Obrigado mestre! Muito bom o conteúdo que vc transmite, agrega valor e nos deixa animados com o aprendizado! Obrigado pela ajuda

  • @thiagocardosonunes6444
    @thiagocardosonunes6444 11 місяців тому +1

    Seu curso ensina pra quem não sabe nada até aplicação pronta?

    • @Sujeitoprogramador
      @Sujeitoprogramador  11 місяців тому +1

      Sim dentro do curso vamos desde o zero a projetos profissionais completo além do suporte e comunidade exclusiva dos alunos 🔥

    • @thiagocardosonunes6444
      @thiagocardosonunes6444 11 місяців тому +1

      Rapaz, ate o momento foi o melhor que vi junto com o Dev Samurai, muito bom mesmo seu canal, eu recebi uma proposta da minha empresa e preciso aprender isso com urgencia@@Sujeitoprogramador

    • @Sujeitoprogramador
      @Sujeitoprogramador  11 місяців тому

      @@thiagocardosonunes6444 boaa, pode ir tranquilo que você vai evoluir muito na turma

    • @thiagocardosonunes6444
      @thiagocardosonunes6444 11 місяців тому

      TOP meu amigo, ja tenho base mesmo, atuo a 7 anos em dados e suporte, mas minha empresa me chamou pro desenvolvimento pois gosto de criar coisas pra melhoria de pessoas. la o foco e javascript, react e node.js@@Sujeitoprogramador

    • @thiagocardosonunes6444
      @thiagocardosonunes6444 11 місяців тому

      acabei de comprar meu amigo

  • @gmartins-dev
    @gmartins-dev Рік тому

    qual o link pro repositorio do projeto por favor?

  • @Mad_Bear94
    @Mad_Bear94 Рік тому

    No meu deu um erro ali no arquivo createCustomerController.ts quando criamos a variável
    const customer = await customerService.execute({ name, email });
    Daí este erro impede a aplicação de funcionar e não consegui resolver parei em 30:21. Fiz exatamente como tá no vídeo, sem erro de escrita e msm assim tô preso nesta parte.
    Se alguém puder ajudar, agradeço.

  • @JohnaThanRocha
    @JohnaThanRocha 10 місяців тому +1

    Eu to pegando um statusCode 500 quando peço pra deletar. Meu código tá idêntico ao do vídeo.
    Tem alguma configuração dentro do playground do Atlas que possa tá bloqueando eu fazer o delete?

    • @diegosantos4387
      @diegosantos4387 7 місяців тому

      O meu também tá assim. Ta dando um erro na rota de deletar, no método handle. Não sei o que fazer. Nem o chat gpt ta ajudando

    • @miguel.arcanjo
      @miguel.arcanjo День тому

      Esperimente isso, caso nao estaja assim: fastify.delete("/device/:id", async (request: FastifyRequest, reply: FastifyReply) => {
      return new DeleteDeviceController().handle(request, reply)
      })

  • @YagoLeParkour
    @YagoLeParkour Рік тому +1

    Devo iinstalar o insomnia Local ou in Cloud??

  • @gsservicos
    @gsservicos Рік тому

    Esse projeto só roda em uma VM?

  • @arielsonduarte9510
    @arielsonduarte9510 11 місяців тому

    Uma dúvida que sempre tive, qual o nome do seu programa de anotações?

  • @RodrigoAdriano
    @RodrigoAdriano 3 місяці тому

    Opa uma duvida, quando um projeto desse subir para produção em um servidors, ele continua rodando apenas o tsx ? Ou precisa compilar para JS ?

    • @Sujeitoprogramador
      @Sujeitoprogramador  3 місяці тому +1

      @@RodrigoAdriano Typescript usamos em desenvolvimento no build ele gera o js

    • @RodrigoAdriano
      @RodrigoAdriano 3 місяці тому

      @@Sujeitoprogramador Voce tem algum video falando mais disso? Qual compilador é mais recomendado pra gerar os arquivos JS... é Feito uma Pasta "Clone" que segue toda a estrutura, ou é gerado um Bundle ?

  • @ronerolin9412
    @ronerolin9412 6 місяців тому +1

    Alguem souber e quiser me ajudar?

  • @iury664
    @iury664 Рік тому

    por que mongoDB ? alias, gostaria de algo mais mercado. Docker, AWS, Azure...

  • @alexnascimento7633
    @alexnascimento7633 7 місяців тому +1

    velho, esse mongoDB é muito chato! Acho que sria melhor um mySQL, tô apanhando nessa parte! Ou seja logo no começo!
    Mas no geral tá bem explicado

  • @isaacdev-nl6dm
    @isaacdev-nl6dm 7 місяців тому +1

    Meu router n vira aquela florzinha verde alguém me ajuda jjkjkkjj ja deu isso em outros 10 p rojetos

    • @DevGpt2024
      @DevGpt2024 4 місяці тому

      não sei se vc já descobriu, mas precisa ter o material icons instalado no vscode

  • @leleco7309
    @leleco7309 8 місяців тому +1

    fala muito rapido

  • @nand0lekegamer
    @nand0lekegamer Рік тому

    alguem pode me ajudar ? no minuto 37:10 estou tendo esse problema no insomnia
    "
    Invalid `prismaClient.custumer.create()` invocation in
    c:\\Users\\Moura\\Documents\\backend\\src\\services\\CreateCustomerService.ts:16:54

    13 throw new Error(\"Preencha todos os campos\")
    14 }
    15
    → 16 const customer = await prismaClient.custumer.create(
    Error occurred during query execution:
    ConnectorError(ConnectorError { user_facing_error: None, kind: AuthenticationFailed { user: \"SCRAM failure: bad auth : authentication failed\" }, transient: false })"

    • @Sujeitoprogramador
      @Sujeitoprogramador  Рік тому

      Precisa verificar se esta recebendo os dados da requisição corretamente, e ai passando para seu create do prismaClient e atenção para a forma que criou seu model os nomes das propriedades e cuidado os minúsculos e maiusculos

    • @score_
      @score_ 10 місяців тому

      conseguiu corrigir?

    • @marceloalves5804
      @marceloalves5804 9 місяців тому

      Estou com o mesmo problema e não consigo resolver. Alguém pode dar um help ?

    • @MateusBolito-p8y
      @MateusBolito-p8y 8 місяців тому

      to com o mesmo problema e parece ser no models

    • @MateusBolito-p8y
      @MateusBolito-p8y 8 місяців тому

      @@marceloalves5804 conseguiu resolver?

  • @MateusBolito-p8y
    @MateusBolito-p8y 8 місяців тому +1

    alguem me ajuda? "statusCode": 500,
    "error": "Internal Server Error",
    "message": "
    Invalid `prismaClient.customer.create()` invocation in
    c:\\Users\\bolit\\backendflix\\src\\services\\CreateCustomerService.ts:13:50

    10 throw new Error(\"preencha todos os campos\");
    11 }
    12
    → 13 const customer = await prismaClient.customer.create(
    Error occurred during query execution:
    ConnectorError(ConnectorError { user_facing_error: None, kind: AuthenticationFailed { user: \"SCRAM failure: bad auth : authentication failed\" }, transient: false })"
    }
    ja olhei a documentaçao e dentro do data ja passei email e name como string etc igual ta na doc e nada ainda..

    • @Sujeitoprogramador
      @Sujeitoprogramador  8 місяців тому

      Precisa verificar se está passando os parametros corretamente na requisiçao pelo insomnia e também principalmente conferir na sua string de conexão com o BANCO do mongo se está correto user, nome do banco, a senha, *lembra de não colocar senha com caracteres especiais, lembra de ativar o ip igual fazemos no painel do mongo db, confira esses detalhes.

    • @MateusBolito-p8y
      @MateusBolito-p8y 8 місяців тому +1

      @@Sujeitoprogramadorarrumei era a conexao com o mongo eu estava com outro usuario nao prestei atençao kk