Arquitectura de Aplicaciones

1

隆Renovaremos este curso! Te quedan unos d铆as para concluirlo.

2

Pasos para aprender Flutter Avanzado

3

驴Qu茅 es una Arquitectura de software?

4

Tipos de Arquitecturas para Flutter

5

Arquitectura BLoC en Flutter

6

BLoC + Clean Architecture en Flutter

7

Estructurando nuestro proyecto utilizando la Arquitectura BLoC

8

Haciendo BLoC Singleton en Flutter

9

Aplicando Providers al Proyecto

Firebase y Flutter

10

隆Renovaremos este curso! Te quedan unos d铆as para concluirlo.

11

Integrando Firebase Authentication, Cloud Firestore y Firebase Storage al proyecto

12

Integrando Firebase a Flutter para iOS

13

Integrando Firebase a Flutter para Android

14

Creaci贸n de Pantalla de Login con Flutter

15

Creando botones reutilizables en Flutter

16

Autenticaci贸n de Firebase con Google

17

隆Renovaremos este curso! Te quedan unos d铆as para concluirlo.

18

Implementando Firebase Authentication en BLoC Pattern

19

Streams en Flutter

20

Manejando una sesi贸n con Firebase Authentication y Flutter

21

Implementando Google SignOut en BLoC

22

Implementando Google SignOut en View

23

Monitoreando y validando la conexi贸n al Sign con Google

24

Mostrando los datos de usuario de Google en la interfaz en Flutter

Cloud Firestore de Firebase en Flutter

25

隆Renovaremos este curso! Te quedan unos d铆as para concluirlo.

26

驴Qu茅 es Cloud Firestore de Firebase?

27

Analizando un modelo de datos no relacional

28

Creando un Modelo de datos en Cloud Firestore

29

Enviando datos a Cloud Firestore

30

Creando un Widget gradiente personalizado

31

Manejo de Desbordamiendo de Texto de Widget Text

32

Bot贸n de Back en un Appbar en Flutter

33

Navegaci贸n entre pantallas en Flutter

34

Widget Text Appbar personalizado en Flutter

35

隆Renovaremos este curso! Te quedan unos d铆as para concluirlo.

36

Widget TextField personalizado en Flutter

37

Creando una Safe Area para una interfaz que tiene un AppBar

38

Widget TextField con iconos en Flutter

39

Retocando el CardView

40

Mostrando im谩genes en un CardView

41

Creando un bot贸n de Submit en Flutter

42

Env铆o de datos de un f贸rmulario en Flutter

43

Subiendo datos a Firestore de Firebase

44

Formularios en Flutter

Acceso al Hardware con Flutter

45

隆Renovaremos este curso! Te quedan unos d铆as para concluirlo.

46

Acceso a la c谩mara en Flutter

47

Librer铆as de acceso a Hardware en Flutter

Firebase Storage en Flutter

48

隆Renovaremos este curso! Te quedan unos d铆as para concluirlo.

49

Qu茅 es y c贸mo funciona Firebase Storage en Flutter

50

Subiendo una imagen a Firebase Storage desde Flutter

Querys avanzados en Cloud Firestore de Firebase en Flutter

51

隆Renovaremos este curso! Te quedan unos d铆as para concluirlo.

52

Manejo de im谩genes en Cloud Firestore

53

Cloud Firestore insertando referencias y arrays en la base de datos

54

Descargar im谩genes de Firebase Storage y mostrarlas en Flutter

55

Procesando datos con BLoC Pattern

56

Trayendo datos de Cloud Firestore

57

Persistiendo datos de un usuario logueado

58

Aplicando Filtros en Cloud Firestore

59

隆Renovaremos este curso! Te quedan unos d铆as para concluirlo.

60

Construyendo los Places en la pantalla de Home

61

Mostrando los Places en la pantalla de Home

62

Actualizando datos en tiempo real

63

Manejando la l贸gica de likes, como bot贸n toggle.

64

Insertando y obteniendo referencias en datos de Firestore.

65

Usando el cach茅 para cargar im谩genes m谩s r谩pido

66

StreamController, sink, add y StreamBuilder

Conclusiones

67

隆Renovaremos este curso! Te quedan unos d铆as para concluirlo.

68

Conclusiones

Compra acceso a todo Platzi por 1 a帽o

Antes: $249

Currency
$209/a帽o

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscr铆bete

Termina en:

15D
10H
53M
50S
Curso Avanzado de Flutter

Curso Avanzado de Flutter

Camila Barajas Salej

Camila Barajas Salej

Insertando y obteniendo referencias en datos de Firestore.

64/68

Lectura

En la clase anterior te expliqu茅 c贸mo estaremos manejando la l贸gica de los usuarios que dan like a un Place. Lo haremos insert谩ndo su referencia en el Place correspondiente.

...

Reg铆strate o inicia sesi贸n para leer el resto del contenido.

Aportes 19

Preguntas 0

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

con esta clase otro punto menos. cursoAvanzadoFlutter = cursoAvanzadoFlutter -1;

Decepcionante este curso鈥

Deber铆an planificar mejor sus proyectos para definir todo lo que va a llegar, as铆 no tendremos que estar haciendo cambio con errores super raros

Sorry pero hay bastantes cosas que no se solucionaron en estas dos clases. Deben revisarlo, hay fuga de informacion.

malograron el funcionamiento de la aplicaci贸n, malaso de su parte, no habia necesidad de enredarse con esto

Mucho desorden, me decepciono al final este curso, 铆bamos bien hasta la clase 38

Bueno yo no e tenido problema con respecto a estas clases me funciona perfectamente la aplicaci贸n, como menciona el compa帽ero Jaime Ortiz, quien lo ha estado desarrollando y poniendo atenci贸n a cada detalle y como funciona cada instrucci贸n no tiene mayor problema. Solo tuve un peque帽o error que estaba el cloud_firestore_api.dart que era en el List place = List(); tuve que cambiarlo a List<Place> places = List<Place>(); de ahi todo funciona correctamente.

se supone que era un curso de Flutter !!!

El problema es que el c贸digo publicado en Git, no va de acuerdo al avance de las clases, sino es el c贸digo final.

Muy buena la clase, para el que no entendi贸 fue porque no est谩n haciendo el proyecto a la par con Anah铆.

Me gust贸 mucho el curso desde la perspectiva de las herramientas que se usaron y a que puntualmente tambi茅n uso firebase, pero cometieron un grave error, y fue apuntar a una aplicaci贸n que usa base de datos y previamente necesita una planificaci贸n de esta. Se confunde mucho la tem谩tica respecto a flutter cuando se incurre en constantes refactorizaciones para ir haciendo que la app cumpla con cada nuevo requerimiento para el comportamiento con firebase y firestore.
Me hubiese gustado m谩s trabajar con una aplicaci贸n menos funcional pero que tuviera un fuerte enfoque al lenguaje y framework, porque de momento me cuesta entender lo que hay detr谩s de los streams, bloc, singletones y el manejo de los screens.

Deber铆an actualizar este curso, est谩 muy old.

https://github.com/GregVaz/flutter-course/tree/flutter-firebase
Igual si acaso alguien sigue el curso y tiene duda, ac谩 dejo mi repo

https://github.com/adolfojara10/CursoFlutterAvanzado
Les dejo el link de mi repositorio por si acaso tienen alguna duda

Por si alguien sigue haciendo el curso.
Es interesante como se puede llevar a cabo las explicaciones aplic谩ndolas a una implementaci贸n mucho muy actualizada.

//Metodo para mostrar todos los Places en la pantalla de home
//Asi como definir que Places ya se le ha dado like por parte
//del usuario loguado
List<Place> buildPlaces(
List<DocumentSnapshot> placesListSnapshot, modelUser.User user) {
List<Place> places = [];

placesListSnapshot.forEach((DocumentSnapshot place) {
  bool isLiked = false;
  //Obtenemos referencia del usuario
  //DocumentReference refUser = _dataBase.doc("$USERS/${user.userId}");

  Map<String, dynamic> data = place.data()! as Map<String, dynamic>;

  //Guardamos la lista de usuarios que les gusta el lugar
  List<dynamic>? usersLiked = data['usersLiked'];

  if (usersLiked != null) {
    usersLiked.forEach((userLiked) {
      //Guardamos cada elemento y lo seteamos como de tipo DocumentReference
      DocumentReference userReference = userLiked;

      //Comparamos id del usuario que le dio like con el id del usuario que se encuentra logueado
      //Si es igual seteamos la variable isLiked = true para controlar el boton de corazon se rellene para este usuario
      if (userReference.id == user.userId) {
        isLiked = true;
      } else {
        isLiked = false;
      }
    });
  } else {
    isLiked = false;
    print("No hay likes de ningun usuario");
  }

  places.add(Place(
      id: place.id,
      likes: data['likes'],
      name: data['name'],
      description: data['description'],
      urlImage: data['urlImage'],
      liked: isLiked));
});
return places;

}

No explican detalladamente lo que esta en el c贸digo y hace que tengamos muchos errores.

En doc-doc buscamos talento con capacidades proactivas, ganas de desarrollar nuevas habilidades, que nos ayuden a llevar el equipo a otro nivel, inspirados por los poderes que la tecnolog铆a trae a un mundo que evoluciona.

Las principales tecnolog铆as con las que tendr谩s contacto son:
鈥 Flutter (Dart) 鈥 Node (TypeScript) 鈥 GCloud 鈥 MySQL
鈥 GraphQL 鈥 Python

Si te interesa crear un gran impacto en la salud de las personas y tener un lugar donde poder hablar de ciencia, filosof铆a, adem谩s de tecnolog铆a, en doc-doc te vas a sentir como en casa.

Nos gusta conocer a las personas.

Escr铆beme a [email protected]

Genial!! 馃槂 Me encant贸!

Muy buena clase鈥
Me temo que para los que se quejan de la sobre-escritura de c贸digo, quiz谩s sea por que no acostumbran fraccionar las clases en ramas de git.
Creo que una de las caracter铆sticas interesantes a agregar ser铆a el mantener un IconData sostenido seg煤n el status de liked, de esta forma el usuario recordar谩 a 驴qu茅 im谩genes le di贸 like? y a 驴cu谩les no?
Gran clase