Bienvenida e Introducción

1

Bienvenida y Presentación del proyecto: PlatziRooms

2

Creación y configuración inicial del proyecto utilizando VUE CLI 3

3

Boilerplate y Limpieza del proyecto

Render Functions y JSX

4

¿Que son las Render Functions y JSX?

5

Preparando nuestro entorno para un prototipo

6

Creación de un componente con createElement

7

Utilizando JSX para la creación de un componente

8

Utilizando Slots con Render Functions y JSX

9

Creando un Modal de Login para PlatziRooms

10

Creando la lógica general de nuestros modales con Vuex

11

Creando el contenido de nuestro modal

Componentes controlados y uso de librerías externas

12

Componentes Controlados y Variables Personalizadas

13

Construcción del componente de Recordar Contraseña

14

Creación de un componente Slider utilizando la librería tiny-slider

High Order Functions

15

¿Qué son las High Order Functions? - Crea tu primera HOF

16

Vuex

17

Obtener datos usando Vuex

18

Crea un getter dinámico en Vuex utilizando HOF

19

Creación de la vista para creación de publicaciones

20

Agregando datos con Vuex

Base de datos en tiempo real con Firebase

21

Instalación y Configuracion de Firebase Realtime Database

22

Obteniendo los datos desde Firebase Realtime Database

23

Agregando la consulta de usuarios

24

Almacenando nuevas publicaciones en Firebase Realtime Database

25

Perfeccionando el flujo de navegación de nuestra App

Autenticación con Firebase

26

Configuracion Inicial para trabajar con Firebase Authentication

27

Agregando nuevos usuarios en firebase autentication

28

Inicio de sesión de usuario

29

Cierre de sesión de usuario

30

Protegiendo páginas utilizando Navigation Guards

Scoped Slots

31

¿Qué son los Scoped Slots? Dónde utilizarlos y por qué

32

Integración de Scoped Slots en Platzi Rooms

Deploy

33

Creando y desplegando nuestra app en Heroku

34

Conclusiones y Despedida

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

No se trata de lo que quieres comprar, sino de quién quieres ser. Aprovecha el precio especial.

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

14 Días
2 Hrs
57 Min
55 Seg

Agregando la consulta de usuarios

23/34
Recursos

Aportes 7

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Genial, me encanta que aquí aplicamos también las HOF, al usar un mutator SET_ITEM, también me estoy haciendo cómo sería la idea de hacer lo mismo usando firestore

si hace este curso en el 2021 …
tuve problemas al importar firebase…

SOLUCION:

  1. cambiar en package.json el # de version de firebase
    "dependencies": {
    “firebase”: “7.13.1”,
    },

ademas les dejo mi archivo firebase.js
//
import firebase from ‘firebase’;

const firebaseConfig = {
apiKey: “”,
authDomain: “”,
databaseURL: “”,
projectId: “platzy-rooms”,
storageBucket: “”,
messagingSenderId: “”,
appId: “”
};
// Initialize Firebase
firebase.initializeApp(firebaseConfig);
const database = firebase.database();
const auth = firebase.auth();
export { database, auth }

// en el store.js solo queda hacer
import { database } from “./firebase.js”;

y por ejemplo para la instancia quedaría
let instance = database.ref(“rooms”);

y deberia funkar… Saludos desde Ecuador …

Copié el codigo del profe pero me dice lo isguiente

index.cjs.js?3523:1618 Uncaught (in promise) Error: Reference.child failed: First argument was an invalid path = "null". Paths must be non-empty strings and can't contain ".", "#", "$", "[", or "]"

mi codigo es en store.js
FETCH_USER: ({ state, commit }, { id }) => new Promise((resolve) => {
      firebase.database().ref('users').child(id).once('value', (snapshot) => {
        commit('SET_ITEM', { resource: 'users', id: snapshot.key, item: snapshot.val() });
        resolve(state.users[id]);
      });
    }),


`<code>

a mi me sale este error:

index.esm.js?e947:705 Uncaught TypeError: Cannot use 'in' operator to search for '-KsjWehQ--apjDBwSBCZ' in undefined
    at Function.set (vue.runtime.esm.js?2b0e:1076)
    at Store.SET_ITEM (store.js?c0d6:32)
    at wrappedMutationHandler (vuex.esm.js?2f62:840)
    at commitIterator (vuex.esm.js?2f62:462)
    at Array.forEach (<anonymous>)
    at eval (vuex.esm.js?2f62:461)
    at Store._withCommit (vuex.esm.js?2f62:620)
    at Store.commit (vuex.esm.js?2f62:460)
    at boundCommit (vuex.esm.js?2f62:405)
    at eval (store.js?c0d6:57)```

Llevo varios intentos y sigue sin funcionar 😪 seguiré a ver si en otras clases se arregla al organizar todo. Me salen varios errores pero reviso el código con el del profesor y todo parece igual

Aunque odio que el código que se descargue en esta clase ya tenga un montón de cosas raras de las proximas clases.

Para el que este trabajando en 2022 con firebase 9 y Vue 2, la consulta en el store para hacer un fetch del usuario es la siguiente:

FETCH_USER: ({ state, commit }, { id }) => new Promise((resolve) => {
      const dbRef = ref(getDatabase());
      get(child(dbRef, `users/${id}`)).then((snapshot) => {
        commit('SET_ITEM', { resource: 'users', id: snapshot.key, item: snapshot.val() });
        resolve(state.users[id]);
      });
    }),

Buenas noches. Estoy de acuerdo con los companeros, tengo el mismo error que ellos:

index.cjs.js?3523:1669 Uncaught (in promise) Error: Reference.child failed: First argument was an invalid path = "null". Paths must be non-empty strings and can't contain ".", "#", "$", "[", or "]"
    at validatePathString (index.cjs.js?3523:1669)
    at Reference.child (index.cjs.js?3523:13845)
    at eval (store.js?c0d6:82)
    at new Promise (<anonymous>)
    at Store.FETCH_USER (store.js?c0d6:80)
    at Array.wrappedActionHandler (vuex.esm.js?2f62:778)
    at Store.dispatch (vuex.esm.js?2f62:457)
    at Store.boundDispatch [as dispatch] (vuex.esm.js?2f62:347)
    at Vue.beforeCreate (main.js?56d7:28)
    at invokeWithErrorHandling (vue.runtime.esm.js?2b0e:1854)

A que se debe?