6 minutos de lectura
0
En este artículo aprenderemos a integrar Firebase Realtime Database en una aplicación Next.js para construir un sistema de comentarios en tiempo real, que nos permita almacenar y visualizar los comentarios.
Desde la consola de Firebase crearemos un nuevo proyecto, agregaremos una aplicación web y crearemos una base de datos realtime.
Para poder leer y escribir en nuestra base de datos debemos definir unas reglas desde la consola de Firebase, para este ejemplo, definiremos la arquitectura de la siguiente manera: cada comentario pertenecerá a un hilo, y cada hilo será una representación de un post en nuestra aplicación, asumiendo que los posts se obtiene desde otra fuente.
Las reglas deberían quedar de la siguiente manera:
Instalaremos el paquete de Firebase en nuestra aplicación
Es probable que ya hayas configurado el SDK de Firebase alguna vez. Creamos un archivo lib/firebase.ts
, el cual debería verse algo como esto:
Creamos un archivo lib/firebase-utils.ts
y agregaremos algunas funciones como estas:
Nos dirigimos al archivo pages/posts/[id].tsx
, el cual será responsable de almacenar y obtener el hilo representativo del post.
Cabe mencionar que para la interfaz del proyecto estaré usando Chakra UI. Pueden revisar su documentación oficial si es necesario.
Como podemos observar en la función getStaticProps
, estamos obteniendo el hilo almacenado en la base de datos como un objeto que se encuentra disponible en los props
.
Nos dirigimos al archivo lib/firebase-utils.ts
y agregamos la siguiente función:
Ahora vamos a crear los siguientes componentes: Editor
, Comment
y DiscussionThread
.
Finalmente nos dirigimos al archivo pages/posts/[id].tsx
y agregamos el siguiente código:
Si has llegado hasta aquí, deberías tener algo como esto en la siguiente ruta: http://localhost:3000/posts/1.
El código completo de este proyecto está disponible en Github.
¡Espero que te haya gustado y te haya sido útil!, Si tienes sugerencias o mejoras que hacer, eres libre de realizar un "pull request" para contribuir.
Si lo deseas, puedes apoyarme con una donación voluntaria. Tu aporte me permite dedicar más tiempo a investigar, escribir y mejorar la calidad del contenido que publico. ¡Muchísimas gracias por considerar impulsar este proyecto!
Compartir en: