👀 Si dominan GIT podemos hacer fork del proyecto en Github y seguir el curso desde este commit para escribir todo el código de la aplicación paso a paso 👍:
- @jggomez/blogeek/3c39e11 - Github
Configura Firebase en un blog con JavaScript puro y sin frameworks, aprovechando la documentación oficial y los scripts por servicio. Aquí verás la estructura del proyecto, el orden de carga en HTML y la configuración sensible que no debes subir al repositorio. Todo directo y listo para empezar a usar los servicios de Firebase.
¿Cómo se organiza el proyecto web sin frameworks?
El proyecto es 100 % web: HTML y JavaScript, sin React, Angular u otros. La estructura incluye directorios para estilos, fuentes, íconos, imágenes y un directorio de JavaScript con módulos donde se añade el código para los servicios. También hay un archivo index.html como entrada principal.
¿Qué hace Gulp en el entorno local?
Se usa Gulp como build system para mejorar el flujo de trabajo.
¿Por qué usar JavaScript puro y no frameworks?
Los servicios de Firebase son transparentes respecto al frontend.
¿Cómo integrar Firebase desde la consola y la documentación?
Desde la consola de administración de Firebase, en la pestaña General, selecciona “Añade Firebase a tu aplicación web”. Ahí obtienes los scripts para integrar el proyecto. Antes de copiarlos, revisa “Iniciar nuestro proyecto de Firebase con JavaScript” en la documentación: es clara, actualizada y explica qué scripts usar.
¿Qué scripts de Firebase necesitas según los servicios?
Firebase separa los scripts por servicio para optimizar la carga.
¿Cómo configurar e inicializar Firebase en el código?
Primero crea un archivo de configuración con las credenciales del proyecto. Es un objeto JavaScript con atributos que Firebase usa internamente para permitir que tu app use el proyecto correcto. Luego, en tu JavaScript principal, inicializa Firebase. Asegúrate de cargar la configuración antes que cualquier otro script que dependa de ella.
¿Qué contiene el objeto de configuración?
Incluye datos sensibles que identifican el proyecto:
// js/config.js const firebaseConfig = { apiKey: "TU_API_KEY", databaseURL: "TU_DATABASE_URL", projectId: "TU_PROJECT_ID", storageBucket: "TU_STORAGE_BUCKET", messagingSenderId: "TU_MESSAGING_SENDER_ID" };
¿Cómo proteger la configuración en el repositorio?
La configuración es delicada y debe tratarse como privada.
¿En qué orden cargar los scripts en index.html?
Carga primero el archivo de configuración, luego Firebase y, al final, tu código que usa los servicios. Recuerda: HTML carga de arriba hacia abajo.
<!-- index.html --> <!-- 1. Configuración del proyecto --> <script src="js/config.js"></script> <!-- 2. Firebase App y los servicios que usarás --> <!-- <script src="https://www.gstatic.com/firebasejs/X.Y.Z/firebase-app.js"></script> --> <!-- <script src="https://www.gstatic.com/firebasejs/X.Y.Z/firebase-auth.js"></script> --> <!-- Agrega aquí los scripts por servicio que necesites --> <!-- 3. Tu JavaScript general --> <script src="js/general.js"></script>
Finalmente, inicializa Firebase tomando los datos de configuración. Esto deja listos los servicios para su uso.
// js/general.js firebase.initializeApp(firebaseConfig);
¿Quieres que avancemos con autenticación y veamos cómo iniciar sesión y proteger contenido? Cuéntame qué servicio te gustaría integrar primero y en qué parte de tu blog lo necesitas.
Configura Firebase en un blog con JavaScript puro y sin frameworks, aprovechando la documentación oficial y los scripts por servicio. Aquí verás la estructura del proyecto, el orden de carga en HTML y la configuración sensible que no debes subir al repositorio. Todo directo y listo para empezar a usar los servicios de Firebase.
El proyecto es 100 % web: HTML y JavaScript, sin React, Angular u otros. La estructura incluye directorios para estilos, fuentes, íconos, imágenes y un directorio de JavaScript con módulos donde se añade el código para los servicios. También hay un archivo index.html como entrada principal.
Se usa Gulp como build system para mejorar el flujo de trabajo.
Los servicios de Firebase son transparentes respecto al frontend.
Desde la consola de administración de Firebase, en la pestaña General, selecciona “Añade Firebase a tu aplicación web”. Ahí obtienes los scripts para integrar el proyecto. Antes de copiarlos, revisa “Iniciar nuestro proyecto de Firebase con JavaScript” en la documentación: es clara, actualizada y explica qué scripts usar.
Firebase separa los scripts por servicio para optimizar la carga.
Primero crea un archivo de configuración con las credenciales del proyecto. Es un objeto JavaScript con atributos que Firebase usa internamente para permitir que tu app use el proyecto correcto. Luego, en tu JavaScript principal, inicializa Firebase. Asegúrate de cargar la configuración antes que cualquier otro script que dependa de ella.
Incluye datos sensibles que identifican el proyecto:
// js/config.js
const firebaseConfig = {
apiKey: "TU_API_KEY",
databaseURL: "TU_DATABASE_URL",
projectId: "TU_PROJECT_ID",
storageBucket: "TU_STORAGE_BUCKET",
messagingSenderId: "TU_MESSAGING_SENDER_ID"
};
La configuración es delicada y debe tratarse como privada.
Carga primero el archivo de configuración, luego Firebase y, al final, tu código que usa los servicios. Recuerda: HTML carga de arriba hacia abajo.
<!-- index.html -->
<!-- 1. Configuración del proyecto -->
<script src="js/config.js"></script>
<!-- 2. Firebase App y los servicios que usarás -->
<!-- <script src="https://www.gstatic.com/firebasejs/X.Y.Z/firebase-app.js"></script> -->
<!-- <script src="https://www.gstatic.com/firebasejs/X.Y.Z/firebase-auth.js"></script> -->
<!-- Agrega aquí los scripts por servicio que necesites -->
<!-- 3. Tu JavaScript general -->
<script src="js/general.js"></script>
Finalmente, inicializa Firebase tomando los datos de configuración. Esto deja listos los servicios para su uso.
// js/general.js
firebase.initializeApp(firebaseConfig);
¿Quieres que avancemos con autenticación y veamos cómo iniciar sesión y proteger contenido? Cuéntame qué servicio te gustaría integrar primero y en qué parte de tu blog lo necesitas.
👀 Si dominan GIT podemos hacer fork del proyecto en Github y seguir el curso desde este commit para escribir todo el código de la aplicación paso a paso 👍:
Alguien mas corre el video a 1.5x?
Deberian actualizar este curso, en la documentación esta muy distinto.
Como la carpeta config tiene el archivo con los datos del proyecto, por lo tanto al subir los archivos a github, no es bueno que vaya ese archivo allí y que lo vean los demás, por eso se agrega ese archivo a .gitignore
¿El archivo ConfigFirebase.js puede ser leído por el cliente? ¿Qué pasa si alguien lo descubre y lo usa en su app?
No me quedó claro eso.
¿Cuándo actualizan el curso a la versión 9?
Tengo que poner velocidad 2X porque aveces no entiendo que dice con tanta pausa, parecido a cuando habla AMLO.
¿Cuál es la extensión de VSCode que utiliza el profe para lanzar ese mini efecto de fuego cada vez que editamos el código? 😍🔥
El proyecto está en algún repositorio?
Cuando se haga el deploy de la app en el hosting de firebase esos archivos js seran visibles desde el F12 en el navegador? Cualquiera podria ver mi config de conexion.
Juan Castro
ProfesorAneudy Abreu
Valentina Rúa Carrillo
Angel David Castiblanco Sepulveda
Fernando Xavier Beizaga Reyes
GEORGIE WLADIMIR DUARTE CADENAS
Richard Delfin Berna Capo
Juan Guillermo Gómez Torres
ProfesorCarlos Andrés Millan Satizabal
Jonathan de Jesús Chávez Tabares
Diesan Romero
Gustavo Fernandez
Juan Guillermo Gómez Torres
ProfesorOmar Karim Mejenes Chacón
Héctor Iván Alfaro Ramírez
Cristian Córdova
Juan Castro
ProfesorJuan Guillermo Gómez Torres
ProfesorJuan Castro
ProfesorCarolina Londoño
Cesar Murillo
David Galicia
Luis Javier Quijije Parrales
Daniel Esteves
Pamela Cinthya Torres Gutiérrez
Erick Iturbe
Kenny Estiven Raúl Contreras Aguilar
Jasan Azael Hernández Bautista
Stephany Catherin Sandoval Castro
Juan Castro
ProfesorGrover Elmer Quispe
Jorge Bou-saad
Jorge Bou-saad
Andru Vargas
JOSE ADRIAN TEZOYOTL MORALES
JOSE ADRIAN TEZOYOTL MORALES
Daniel Esteves
David Alberto Mogollón Fernández
Daniel Esteves
Andersson Johan Ramirez Mosquera
Fredy Alexander Ballesteros Arevalo
Juan Guillermo Gómez Torres
Profesor👀 Si dominan GIT podemos hacer fork del proyecto en Github y seguir el curso desde este commit para escribir todo el código de la aplicación paso a paso 👍:
Excelente, gracias!
Hola ya cree el proyecto en firebase, pero de donde sacamos el proyecto en el que estas trabajando en visual studio
Alguien mas corre el video a 1.5x?
Yo lo estoy viendo a 1.75x
2x
Deberian actualizar este curso, en la documentación esta muy distinto.
Cambia mucho la doc todo el tiempo
Como la carpeta config tiene el archivo con los datos del proyecto, por lo tanto al subir los archivos a github, no es bueno que vaya ese archivo allí y que lo vean los demás, por eso se agrega ese archivo a .gitignore
¿El archivo ConfigFirebase.js puede ser leído por el cliente? ¿Qué pasa si alguien lo descubre y lo usa en su app?
No me quedó claro eso.
No importa que el archivo perse pueda ser leído por el cliente. Lo importante es que la información sensible sea guardada en variables de entorno.
¿Cuándo actualizan el curso a la versión 9?
Buena pregunta, hay muchas cosas nuevas y mejores
Tengo que poner velocidad 2X porque aveces no entiendo que dice con tanta pausa, parecido a cuando habla AMLO.
x2
No se quien es AMLO pero igual le tengo que poner a 2x
¿Cuál es la extensión de VSCode que utiliza el profe para lanzar ese mini efecto de fuego cada vez que editamos el código? 😍🔥
jejeje, es bueno, se llama power mode
Thank u @jggomezt 😄
El proyecto está en algún repositorio?
Gracias zesarum
Cuando se haga el deploy de la app en el hosting de firebase esos archivos js seran visibles desde el F12 en el navegador? Cualquiera podria ver mi config de conexion.
Tienes dos opciones, o restringir el uso de esa configuración para solo tu dominio y aunque te vean ese archivo no puedan utilizarlo ya que solo funciona con tu dominio o usando variables de entorno
Muchas gracias, pero ya encontre que es lo que tiene de diferente, Firebase solo actializao su interfaz.
A los nuevos estudiantes les comento que si quieren segir el paso de copiar el código para la web, Firebase solo te solicita que registre tu app nuevamente con el nombre y despues todo ya es igual.
Espero les sirva
gracias.
Se debe crear dentro de la carpeta js, la carpeta con nombre config y adentro el archivo ConfigFirebase.js
A la fecha de este comentario, cambió el nombre de la variable config por firebaseConfig, en la documentación de Firebase.
No veo la carpeta config en el zip de descarga. Alguien me indica que hacer?
Así debe ser. Cada proyecto tiene API KEYs diferentes. Debes crear los archivos de la carpeta config por tu cuenta con la configuración que te da Firebase.
Deberian actualizar este curso, hay muchas cosas en firebase y el codigo que no concuerdan con el video
Yo estoy haciendo este curso con NextJs y aqui dejo mi commit
Para hacer el equivalente de lo que se hizo aquí en Next, primero se necesita importar un módulo utilizando firebase. Eso se logra con lo siguiente:
npm install firebase
y en el archivo de configuración, se hace lo mismo que el profe hizo. Se copia el mismo json pero la diferencia es que en nuestro caso se debe exportar la configuración para utilizarla en otras páginas o componentes de NextJs. Justo asi:
import { initializeApp } from "firebase/app"; const firebaseConfig = { apiKey: "AIzaSyDcozaEYbaLxHhZ_haJJVGIZCIy7Ai8YRE", authDomain: "blogeekplatzi-9d7b3.firebaseapp.com", projectId: "blogeekplatzi-9d7b3", storageBucket: "blogeekplatzi-9d7b3.appspot.com", messagingSenderId: "68896446890", appId: "1:68896446890:web:60c48ee8cf52d30d86b3d3", measureme ntId: "G-7WBKKRZSFP" }; // Initialize Firebase export const app = initializeApp(firebaseConfig);
Por cierto, las configuraciones pueden ser publicas sin ningun problema. Firebase utiliza las reglas para impedir acceso u operaciones indeseadas en la base de datos. Muy seguramente en futuras lecciones de este curso veremos esto.
Comparto aqui un argumento sobre la seguridad de exponer el archivo de configuracion aunque el profe diga que mejor no lo hagamos (yo tambien sugeriria lo mismo, pero es seguro)
Si hace falta una actualizacion por ejemplo Gulp .. ya tenemos LiveServer ;)
Como creaste ese proyecto O.o?!
Creo que ahora debo tomar un curso de desarrollo web
Ese proyecto es un starter, quiere decir que ya viene construido para nosotros ejemplificar el uso de Firebase. Puedes construir el tuyo propio y gracias a los conocimientos que vas obteniendo del curso lo vas plasmando en tu proyecto 🤙
Tengo una duda, actualmente estoy usando Nuxt para crear aplicaciones SSR, y quisiera hacer deploy en Firebase hosting, pero me preocupa de si este hosting + firebase functions puedan subir mucho los costos a largo plazo, incluso mas que hacer deploy en otras plataformas con bandwidth ilimitado, que tan recomendable es usar firebase hosting para una gran cantidad de usuarios?
Va a depender de la cantidad de usuarios, en los planes de Firebase de muestra las capacidades que tiene cada plan con respecto a usuarios, bandwidth, consultas y más ✨
Puedes hacer el escalado dependiendo del trafico que maneje tu aplicación, si conoces o tienes idea de cuantos usuarios lo mejor es analizar diferentes alternativas antes de casar tu proyecto a una plataforma
Colocar toda la información en el frontend , en el script de html, como la APIKey, el authdomain, en el ambiente de producción, es peligroso.. ¿Cómo lo puedo volver seguro?
Con reglas de seguridad en el storage y firestore y usando Firebase app check