Hola, me gusta mucho el que indiques que parte del frontend se relaciona con el backend, muchas veces nos confundimos, en este caso con el significado de "message" por que lo vemos por todos lados, pero eso de indicar que función escucha y que función es la escuchada etc, es muy útil para aprender a realizar proyectos nuevos y no solo aprender a hacer un chat
Gracias! Si te refieres a añadir un buscador de palabras como tiene watshap para que te muestre un mensaje, podría colocar un input que al pulsar un botón ejecutara una consulta especifica tipo: db.content.find({$message:{$search:"texto a buscar"}}) y te devolviera los mensajes que contengan el texto
Para lo que comentas lo ideal sería disponer de usuarios en la aplicación con un rol establecido. Para ello habría que hacer un signin y que el usuario se logueara (Debería estaer registrado en la app previamente...) y no tuviera que escribir un nickname, si no recoger su información automáticamente. Otra cosa sería crear un input junto al de alias para indicar un rol manualmente...
@@veronleandronicolas4574 Bueno, si sòlo quieres mostrar el rol junto al nickname en el mensaje, igual que indicas esta información, puedes añadir bajo el nickname el rol correspondiente: {message.from} {message.role} {message.body}
Me sale un error que en el archivo controller, dentro de la funcion save "req.body" no lo puede leer y lo tengo exactamente igual que tu. Es la segunda vez que lo intento y me sale lo mismo, la otra vez lo intente sobre una ddbb que tenia ya hecha y me sale lo mismo que ahora. Cannot read properties of undefined (reading 'body'). Si tienes alguna idea de porque es, me salvas porque es para el proyecto final. Gracias
Hola Dorian, es posible que el error que te marca el servidor al recoger los datos que envías desde el cliente, esté en el propio cliente al momento de realizar la petición http save: axios.post(url + 'save', { message: message, from: nickname }) Los parametros message y nickname pertenecen al body que recibes en el servidor, por lo que deben estar indicados. Es lo que se me ocurre... No obstante tienes el código completo en mi repositorio para quer puedas compararlo con tu código: github.com/CodenautaJorge/React-socketio-chat A ver si lo puedes solucionar!
mongoose.connect(url, { useNewUrlParser: true }).then(() =>{ console.log('Conexión con la BDD realizada con éxito!!!'); server.listen(PORT, () =>{ console.log('servidor ejecutándose en localhost:', PORT ); }); }) me sale este error :throw new error_1.MongoAPIError('URI must include hostname, domain name, and tld'); tengo el mismo codigo y no hay mucha diferencia de tiempo ayuda
Hola Camilo, es posible que no hayas definido los datos de conexión que te solicita, al menos es lo que te indica el error... es decir: var url = 'mongodb+srv://usuario:contraseña@cluster0.jwv0x.mongodb.net/?retryWrites=true&w=majority'
Hola, me gusta mucho el que indiques que parte del frontend se relaciona con el backend, muchas veces nos confundimos, en este caso con el significado de "message" por que lo vemos por todos lados, pero eso de indicar que función escucha y que función es la escuchada etc, es muy útil para aprender a realizar proyectos nuevos y no solo aprender a hacer un chat
Muy bine explicado, exelente contenido
Hola se puede hacer por medio de endpoint ? y como se haría si quiero tener una conversación en privado con cada usuario
Hola, se puede agregar un boton para ver cada mensaje pinchar y ver el mensaje que quiero?...muchas gracias muy buenos videos
Gracias! Si te refieres a añadir un buscador de palabras como tiene watshap para que te muestre un mensaje, podría colocar un input que al pulsar un botón ejecutara una consulta especifica tipo: db.content.find({$message:{$search:"texto a buscar"}}) y te devolviera los mensajes que contengan el texto
@@Codenautas mi idea es solo pinchar un mensaje y ver el detalle de este quin lo envio hora etc..eso Amigo!
Buen dia ing, me sale un error al hacer la conexion del controlador al archivo de ruta, esta escrito tal cual :)
te hago una consulta si aparte del nickname quiero que me aparesca con una credencial rollo "ususario" "empleado" como lo haria?
Para lo que comentas lo ideal sería disponer de usuarios en la aplicación con un rol establecido. Para ello habría que hacer un signin y que el usuario se logueara (Debería estaer registrado en la app previamente...) y no tuviera que escribir un nickname, si no recoger su información automáticamente.
Otra cosa sería crear un input junto al de alias para indicar un rol manualmente...
@@Codenautas claro me refiero a crear un imput tipo select para indicar un rol pero no se me ocurre como hacerlo funcionar
y me guarde la bade de datos el nickname,el rol y el message
pd:perdon si no me se explicar bien
@@veronleandronicolas4574 Bueno, si sòlo quieres mostrar el rol junto al nickname en el mensaje, igual que indicas esta información, puedes añadir bajo el nickname el rol correspondiente:
{message.from}
{message.role}
{message.body}
Gracias.. Pero me sale este error al hacer npm run dev....
node_modules\bson\lib\bson.cjs:479
inspect ??= defaultInspect;
el problema era el server de mongodb
Hola una consulta, se puede hacer con PostgreSQL en vez de MongoDB, o habría un problema?
Hola, claro, puedes utilizar la bdd que quieras, no es problema
@@Codenautas muchas gracias
Una pregunta, se puede ejecutar la aplicación para dispositivos Móviles?
Para aplicaciones nativas habría que desarrollarlo con React Native
Es posible que este deprecado Socketserver?
vine a mirar lo mismo xd, creo que el server ya se importa directamente, pero bueno ahi voy como esta en el video
Me sale un error que en el archivo controller, dentro de la funcion save "req.body" no lo puede leer y lo tengo exactamente igual que tu.
Es la segunda vez que lo intento y me sale lo mismo, la otra vez lo intente sobre una ddbb que tenia ya hecha y me sale lo mismo que ahora.
Cannot read properties of undefined (reading 'body').
Si tienes alguna idea de porque es, me salvas porque es para el proyecto final.
Gracias
Hola Dorian, es posible que el error que te marca el servidor al recoger los datos que envías desde el cliente, esté en el propio cliente al momento de realizar la petición http save:
axios.post(url + 'save', {
message: message,
from: nickname
})
Los parametros message y nickname pertenecen al body que recibes en el servidor, por lo que deben estar indicados. Es lo que se me ocurre...
No obstante tienes el código completo en mi repositorio para quer puedas compararlo con tu código: github.com/CodenautaJorge/React-socketio-chat
A ver si lo puedes solucionar!
Debiste aprovechar y mostrar como separar los formularios en componentes
mongoose.connect(url, { useNewUrlParser: true }).then(() =>{
console.log('Conexión con la BDD realizada con éxito!!!');
server.listen(PORT, () =>{
console.log('servidor ejecutándose en localhost:', PORT );
});
})
me sale este error :throw new error_1.MongoAPIError('URI must include hostname, domain name, and tld'); tengo el mismo codigo y no hay mucha diferencia de tiempo ayuda
Hola Camilo, es posible que no hayas definido los datos de conexión que te solicita, al menos es lo que te indica el error... es decir:
var url = 'mongodb+srv://usuario:contraseña@cluster0.jwv0x.mongodb.net/?retryWrites=true&w=majority'
@@Codenautas ya lo pude soluciar solo cree de nuevo el cluster