Nodejs & Mongodb REST API más Deploy, Dominio y SSL (usando Clouding.io)
Vložit
- čas přidán 9. 09. 2024
- Couding.io ➞ clouding.io
Este video es un ejemplo practico de como crear una REST API usando Nodejs, Express, Mongodb y algunos módulos extras de Node como babel y Mongoose. Ademas aprenderemos a desplegar nuestra API en la nube a traves de un servicio llamado Clouding.io el cual nos permite crear un Servidor y configurar nuestro entorno de Producción. Y por ultimo añadiremos un dominio de namecheap y SSL (HTTPS) usando certbot y Nginx.
* Despligue en Clouding.io: 1:58:56
codigo: github.com/faz...
🛍 Descuentos:
NordVPN ➞ 68% de descuento en plan de 2 años ➞ Código: fazt
👨💻 ¿Qué servicios utilizo?
Kite ➞ bit.ly/3dPzXHe
NordVPN ➞ bit.ly/2Te7p0J
Hostinger ➞ www.hostg.xyz/...
Cloudinary ➞ bit.ly/3ohNlJ7
Namecheap ➞ namecheap.pxf.io/ErDe9
🖥️ Cursos:
Curso de Nodejs ➞ • Nodejs Curso Desde Cer...
Curso de Mongodb ➞ • MongoDB Curso, Introdu...
Curso de Express ➞ • Expressjs | Nodejs Fra...
VSCode REST Client ➞ • Rest Client | Extensio...
Nodejs Varaibles de Entorno ➞ • Variables de Entorno e...
Curso de Git ➞ • Git y Github | Curso P...
🌐 Redes:
Fazt Web ➞ www.faztweb.com/
Facebook ➞ / fazttech
Instagram ➞ / fazttech
Twitter ➞ / fazttech
Telegram ➞ t.me/fazttech
Twitch ➞ / fazttech
Slack ➞ bit.ly/3dPqCPT
Discord ➞ / discord
Blog ➞ blog.faztweb.com
📩 Contacto:
➞ fazt@faztweb.com
#rest #nodejs #mongodb
Voy a dejar esto útil para mi yo del futuro.
Nginx: 2:29:30
Empieza Agregar dominio: 2:31:00
CerBot: 2:37:40
seria interesante un ejercicio con api con microservicios y contenedores dockers
2:30 a 12:33 toda la configuración para usar es6 en node con express ( volveré más de una vez a este video por eso XD )
Pro tip : you can watch movies on Flixzone. I've been using it for watching all kinds of movies lately.
@Nixon Uriel Yup, I've been using flixzone} for since november myself :)
Como puede ser que te haya conocido en el 2021 ! este canal es oro puro!!
In
Fazt
We
Trust
Llegué a una empresa nueva como reemplazo de un desarrollador que ya no está, al ver el backend me percaté que todo es modular y yo no trabajaba así, usaba un papiro enorme de código... viendo tus videos entiendo que el fullstack previo dominaba tu manera de trabajar y he entendido todo... ahora se me hará todo más fácil. Muchas gracias!
Soy programador por afición y autodidacta, he hecho cosas similares a las que explicas aquí usando más que todo el instinto y el prueba/error, pero me sente hoy a ver tu video y es genial! explicas todo entendible para todos, no hay necesidad de ser un fullstack avanzado. Gracias de antemano me servirá de mucho!
Si están en windows 7 y tienen problemas al tratar de iniciar la instalación de Babel 00:06:14. en mi caso: "Símbolo (token) no reconocido en el texto de origen."
Revisen lo siguiente:
Quizás estén en la terminal "Powershell" Pueden "solucionar" cambiándola a CMD ó "Command Prompt" ó agregarle comillas a los parámetros de instalación que contengan @.
Quedando:
npm i "@babel/core" "@babel/cli" "@babel/node" "@babel/preset-env" -D.
Espero les sirva.
Gracias Fazt por esta clase!
Hola Fazt, este curso es fantastico! Porfa, sube un curso con la parte del front en React: como solicitar el token, donde usarlo, llevar al usuario a una ruta protegida, etc. Saludos desde Argentina, crack!
@Fazt una pasada, lo acabo de terminar, soy desarrollador Front y he aprendido un montón con este video, Se agradece contenido así.
Estaba esperando este video hace mucho tiempo, gracias Fazt.
Por fin terminándolo! Muchas gracias Fazt! Ya me siento preparado para empezar a reescribir mis sistemas hechos con PHP y MySQL monolíticos con framework MVC a la separación de frontend y backend! La verdad me tiene muy ansioso todo esto, más que estoy conociendo Next JS y la verdad que es muy similar a la manera en que se trabaja con PHP simple.
Este tutorial es ORO. Muchas gracias.
fast eres el mejor gracias por todos los videos, fast puedes hacer un video con chat individual para cada usuario
Gracias Fazt por esto que es muy buen curso para aprender como hacer deploy.
No sé si pudieras hacer una REST API pero con httponly cookie jwt y como consumirlo con REACT.
Nuevamente gracias. :)
Gracias Fazt por lo enseñado en este curso. Me ayudo muchísimo en mi proceso de aprendizaje y en el desarrollo de mi aplicación. Muchas bendiciones y existos en tus proyectos de vida personal y profesional.
Me vi todo el curso completo, gracias por aclarar mis dudas Fazt
Mil bendiciones para ti y toda tu familia Fazt!!!
Buenísimo @Fast muchas gracias por tus aportes.
Muchas gracias por compartir tu conocimiento! este video me ha ayudado mucho, sobre todo para entender la parte de deploy, ya que muy pocos tutoriales enseñan cómo se hace.
Sugerencia: para validar los errores se puede usar joi y http-errors.
Joi y Boom son una fantástica combinación dentro de Node junto con express
EXCELENTE PROYECTO, GRACIAS
wow Muy Rico el Contendio !!!! Muchas Gracias!!!!
Gracias Fazt!
eres la hostia ! suscrito altoque loco wn
Gracias Fast son excelentes tus tutoriales!
Hola fazt, eres muy inteligente, muchas gracias, tienes una buena forma de explicar.
Necesito pedirle un favor, ya he visto varios vídeos suyos de rest api.
Pero le hace falta algo y es en sus tutoriales tener en en cuenta la parte desde Android.
Necesito que por favor nos colabore con tutoríales desde Android con GraphQL, y pues Inicialmente con retrofit.
Yo tengo un ejercicio sencillo de login en Android Java , que envía como tres datos al servidor nodejs con retrofit.
Entonces, mi ejercicio tiene las dos partes, yo le quiero regalar ese código para que hagas un tutorial.
Pero si habemos varias personas que necesitamos la versión con GraphQL en Android.
También quiero compartirle un tutorial en español de consultas geoespaciales con MongoDB que ya trae integrado eso que usa geojson.
En firebase se utiliza la librería geofire y geofirestore que utiliza geohashes.
Y en postgresql se utiliza postgis.
Entonces usted maneja mucho nodejs y MongoDB. Pero también le hace falta profundizar el tema desde Android con retrofit y sobre todo GraphQL que lo está reemplazando.
Y sobre esas consultas geoespaciales ya que ello es lo que permite listar información cercana a un punto con latitud y longitud. En MongoDB inclusive órdena la información desde la más cercana a la más lejana según cada latitud y longitud.
Estás consultas geoespaciales es lo que permite el funcionamiento de app de taxis como Uber o indriver,
Yo necesito compartirle eso, contactame a mi correo david.f.r91@hotmail.com
Muy bueno todo, gracias campeon
Saludos primer comentario ♥️😊🙂😶🐥
Gracias por compartir, esta super. Abrazo.
UN VIDEO CON ELASTIC SEARCH Y ESTRUCTURAS DE DATOS PARA BUSCAR EN UNA BASE DE DATOS ESO ESTARIA GENIAL.
Gracias por tanto perdon por tan poco
GENIAL 💥⚡
Muchas gracias! Fantástico
Gracias fazt eres el mejor
mas vidos como estos bro!!.
Excelente Fazt !!!
gracias super entretenido
Hola Fazt. Espero que estés muy bien, por que no haces un tutorial de koa js, el nuevo servidor de express?. Hace unos días postule a un trabajo de desarrollador junior y había que usar ese servidor... realmente no hay material tan bueno como el que haces... eres muy explicativo y se te agradece eso. Seria excelente un curso de koa... saludos
Soy tu fan!!
Saludos crack!
Fazt podrías subir un nuevo video haciendo una app pero con Mern stack?
Pronto voy a renovar el que estaba y voy a hacer otro usando Redux :)
@@FaztTech Perfecto!
Hola
Excelente video puedes por favor hacer un video de un buscador algo similar a una red social (Facebook/CZcams), gracias. Saludos
Buen video, muchas gracias !
hay un video de node usando typescript en tu canal ?
Crack éxitos
Cómo actualizo mi servidor :C? Hago pull, luego el npm run build, pero no hay cambios en la página.
PDT: Tenía que reiniciar el proceso de pm2. pm2 restart dist/index.js
Hi
Fazt, podrías poner el repo de github porfa? Gracias
Creo que es este proyecto: github.com/FaztWeb/tasks-nodemongo-api
1:20:32 intalacion de morgan
1:23:00 cors
1:56:00 configuración de producción
Excelente gracias por casualidad tienes pensado hacerlo también para windows??????
fazt tienes el video de crear tu propio MongoDB atlas en modo produccion en el cual no puedas entrar a la base de datos si no tenes autorizacion, el usuario y contraseña etc..?
Se me había olvidado. Mañana mismo lo grabo
2:31:32 conf de ngnx
Buen video!!!
Tengo una duda... Verán, espero me lean !!!
Al ejecutar "npm run dev" en el servidor, me sale las lineas de [nodemon], mas no el "Server on port 3000", habilité todas las reglas del firewall y sigue sin monstrar en consola la información que se está escuchando en tal puerto y que está conectado a la base de datos... (Cabe resaltar que en el servidor donde estoy haciendo el deploy ya existen proyectos corriendo en otro lenguaje como python, sin embargo ninguno de ellos está en el puerto 3000)
Espero su ayuda, gracias de antemano
@Fazt de modo que si no usaras nginx accederías a ala app con el dominio y además con el puerto como url?? no me quedo claro esa parte
la aplicación tasks de este video no aparece en github, la borraste?
No se porque findByIdAndUpdate no me devuelve el objeto actualizado, pero si actualiza en la BD
Me podrías ayudar con eso???
En el mismo archivo de sites.enable se pueden poner 2 sitios por ejemplo que api.fazt.online vaya a port 3000 y fazt. Online vaya a port 5000?
Q paso con el otro canal fazt code????
Buenas tardes Fazt, necesito tu ayuda, somos nuevos en desarrollo angular, estamos desplegando una aplicación de Angular con Nodejs y Mongodb y se esta visualizando este error " error TS2345: Argument of type 'typeof ExtrategiaAdministrador' is not assignable to parameter of type 'Constructor'. tambien estamos usando Loopback, Alguirn me podria Ayudar
amigo esto se puede replicar para una api en docker de spring-boot?
cualquiera podría ver los datos de la api entrando al dominio. Hay alguna forma de que esten ocultos?
Fazt por ejemplo, yo necesito hacer un tablero en Android dónde me salga una lista de información como su fuera ítems es decir en el tablero necesito hacer un recyclerview.
Que sucede que necesito hacerlo con sockets, con SocketIO, y la información la necesito listar de MongoDB con nodejs.
La razón es porque si uso firebase realtime database, pues fácil, pero cobran por cargar la información y esto se vuelve un problema.
Así que lo mejor es el camino del ingeniero, y lo que necesito se resume en este video que hizo un man en español.
czcams.com/video/Beq-XEqVZwY/video.html
El problema es que no dejo un link en un repositorio del código, ni hizo un tutorial completo, no se ve todo completo de como lo hizo en Android.
Pero hace lo que necesito.
Y pues fazt su canal es de los poquitos Buenos, eso qué menciono es tan fundamental que la verdad los que seguimos su canal realmente comedidamente le solicitamos que por favor haga unos tutoriales enseñando hacer eso.
Pues nos da una visión más clara cada vez.
De antemano agradezco su dedicación y por las contribuciones que hace.
FAZT que esta pasando con nodejs y mysql??? se puede hacer una app con nodejs y base datos mysql y poder subirlo a clouding? es que railway no pude... y es necesario si o si crear un usuario que no sea root?? ``PORFAVOR AYUDA
la subida puede ser gratis o hay que pagar es solo para practicar?
({useNewUrlParse:true,useUnifiedTopology:true})
me sale que tengo que usar eso por que esta vieja la configuracion quien me ayuda
se pueden ejecutar dos aplicaciones de node.js compartiendo la misma db pagando un solo vps en clouding.io?
Hola fazt! disculpa pero al momento de querer entrar con la ip a la app, me dice "Cannot GET /" 404 not found
Fazt que pack de iconos usas en VS Code??
Hola a Todos, alguien sabe si existe alguna librería de roles y permisos para node js express, algún tutorial? porfi
Saludos Coders.! ¿Alguno de ustedes ha podido parsear data en formato JSON con la version de ExpressJs 4.17.1.? Es decir, recibir datos en JSON desde una peticion POST? Por favor no me digan que use Body-parser, Multiparty, connect, connect-body, busboy y hasta el propio express.json(). Los he probado todos y no ha habido forma ni manera de poder leer el req.body, es decir, convertir el body a una variable que pueda usar para cargar la base de datos (req.body.title, req.body.description). Haciendo debug puedo ver que el "content-lenght" dice que trae datos. Agradeceria cualquier luz que me puedan acercar a resolver esta duda. Gracias.!
Tengo el mismo problema, el req.body me llega undefined, use el express.json() y no funciono
@@johantriana1062 Amigo Johan, la única forma que conseguí de resolver el problema fue cargar la librería multer y meterla como middelware en la ruta post escribiendole upload.none()
Algo asi:
route ('/task',upload.none(), (req,res) =>{...
porque multer sirve para subir archivos pero cuando se quiere pasar sólo texto se le debe pasar el método .none()
Creo que es un problema de express cuando sacó body-parser porque el body dice que trae algo pero no consegui la forma de extraerselo...
Si consigues otra solución posteala a ver si conseguimos resolver..! Gracias de antemano.
YA LO LOGRE JAJAS... solamente puse el app.use(indexRoutes) debajo del app.use(express.json()) y ya me funciona :v
Puedo aplicar esto a mi propio servidor linux en mi casa ? quiero hacerlo se que ya existen estos servcios pero me gustaría hacerlo con mi propia computadora para poder consumir mi api una pagina web alguien me puede guiar para saber que video debo ver
Tengo un problema, el método .save() no está guardando los datos en mongoDB, todo lo demás lo hace bien, crea el objeto, incluso crea la base de datos, pero no sé guardan los datos. He está buscando por todos lados una solución y no encuentro nada. Si a alguien le ha pasado lo mismo, porfavor ayúdeme.
Olvidenlo, era una estupidez, resulta que no me tomaba bien el timestamps, porque me faltaba la "s" al final 🤦🏾♂️🤣🤣😅😅😅
Podes hacer un curso de Vim
Por supuesto :)
Error en el paso del 12:42 . necesito AYUDA ando tratando de correr el nodemon con el babel-node y me sale error
> npm start
> resapi2nodejs@1.0.0 start
> nodemon src/index.js --exec babel-node
[nodemon] 2.0.6
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): *.*
[nodemon] watching extensions: js,mjs,json
[nodemon] starting `babel-node src/index.js`
"babel-node" no se reconoce como un comando interno o externo,
programa o archivo por lotes ejecutable.
[nodemon] app crashed - waiting for file changes before starting...
las dependencias son las mimmas
"devDependencies": {
"@babel/cli": "^7.12.10",
"@babel/core": "^7.12.10",
"@babel/node": "^7.12.10",
"@babel/preset-env": "^7.12.11",
"nodemon": "^2.0.6"
}
"scripts": {
"start": "nodemon src/index.js --exec babel-node"
},
La solucion la encontre con esto en el package.json
"scripts": {
"server": "babel-node src",
"start": "nodemon --exec npm run server"
},
Respuesta:
>npm start
> resapinodejsa@1.0.0 start
> nodemon --exec npm run server
[nodemon] 2.0.6
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): *.*
[nodemon] watching extensions: js,mjs,json
[nodemon] starting `npm run server`
> resapinodejsa@1.0.0 server
> babel-node src
Api Res A
server on port: 5000
Al parecer la sintaxis cambio y así es como si funciona correctamente en nodemon con el babel.
Espero les sirva
@@MercaChugo gracias man!
@@MercaChugo a mi me sirvio esto
"scripts": {
"server": "npx babel-node src/index.js",
"start": "nodemon --exec npm run server"
},
es parecido pero no me funciono el tuyo
@@tutet4347 gracias!
En windows hoy 2/12/22 me funciono
5:45 cuando pongo npm init me sale como error no se pudp encontrar el fichero xd, y en el video dices que ya lo sabemos así que nada, supongo que me tocara ir buscando video por video
debes instalar node primero y npm, si estas en windows se instalan ambos juntos. Solo debes actualizar npm por comando
si pongo una ruta que no existe se rompe por que?
Si colocas una ruta que no existe, te devolvera un error 404. Se romperia si ocurre un error en la consulta. Para evitar esto se necesita añadir un manejador de error en express.
@@FaztTech me refiero que cuando tengo una ruta q recibe parametros como ejem api/task/:id
Si pongo en el navegador api/task/news
Se rompe el server por que cree que es un parametro pero es una ruta
alguien sabe por que me sale este error: (node:9560) UnhandledPromiseRejectionWarning: MongooseError: The `uri` parameter to `openUri()` must be a string, got "undefined". Make sure the first parameter to `mongoose.connect()` or `mongoose.createConnection()` is a string.
sale cuando intento hacer la conexion con mongodb
revisa si el archivo .env lo creaste fuera de la carpeta src, me salía el mismo error y era por que el .env lo cree dentro de src
@@RigobertoReyesG muchas gracias me funciono
@@RigobertoReyesG sabes por que a cada rato se me desconecta la base de datos?
@@RigobertoReyesG gracias tenia un rato tratando de solucionar el error