con esta clase otro punto menos. cursoAvanzadoFlutter = cursoAvanzadoFlutter -1;
Arquitectura de Aplicaciones
¡Renovaremos este curso! Te quedan unos dÃas para concluirlo.
Pasos para aprender Flutter Avanzado
¿Qué es una Arquitectura de software?
Tipos de Arquitecturas para Flutter
Arquitectura BLoC en Flutter
BLoC + Clean Architecture en Flutter
Estructurando nuestro proyecto utilizando la Arquitectura BLoC
Haciendo BLoC Singleton en Flutter
Aplicando Providers al Proyecto
Firebase y Flutter
¡Renovaremos este curso! Te quedan unos dÃas para concluirlo.
Integrando Firebase Authentication, Cloud Firestore y Firebase Storage al proyecto
Integrando Firebase a Flutter para iOS
Integrando Firebase a Flutter para Android
Creación de Pantalla de Login con Flutter
Creando botones reutilizables en Flutter
Autenticación de Firebase con Google
¡Renovaremos este curso! Te quedan unos dÃas para concluirlo.
Implementando Firebase Authentication en BLoC Pattern
Streams en Flutter
Manejando una sesión con Firebase Authentication y Flutter
Implementando Google SignOut en BLoC
Implementando Google SignOut en View
Monitoreando y validando la conexión al Sign con Google
Mostrando los datos de usuario de Google en la interfaz en Flutter
Cloud Firestore de Firebase en Flutter
¡Renovaremos este curso! Te quedan unos dÃas para concluirlo.
¿Qué es Cloud Firestore de Firebase?
Analizando un modelo de datos no relacional
Creando un Modelo de datos en Cloud Firestore
Enviando datos a Cloud Firestore
Creando un Widget gradiente personalizado
Manejo de Desbordamiendo de Texto de Widget Text
Botón de Back en un Appbar en Flutter
Navegación entre pantallas en Flutter
Widget Text Appbar personalizado en Flutter
¡Renovaremos este curso! Te quedan unos dÃas para concluirlo.
Widget TextField personalizado en Flutter
Creando una Safe Area para una interfaz que tiene un AppBar
Widget TextField con iconos en Flutter
Retocando el CardView
Mostrando imágenes en un CardView
Creando un botón de Submit en Flutter
EnvÃo de datos de un fórmulario en Flutter
Subiendo datos a Firestore de Firebase
Formularios en Flutter
Acceso al Hardware con Flutter
¡Renovaremos este curso! Te quedan unos dÃas para concluirlo.
Acceso a la cámara en Flutter
LibrerÃas de acceso a Hardware en Flutter
Firebase Storage en Flutter
¡Renovaremos este curso! Te quedan unos dÃas para concluirlo.
Qué es y cómo funciona Firebase Storage en Flutter
Subiendo una imagen a Firebase Storage desde Flutter
Querys avanzados en Cloud Firestore de Firebase en Flutter
¡Renovaremos este curso! Te quedan unos dÃas para concluirlo.
Manejo de imágenes en Cloud Firestore
Cloud Firestore insertando referencias y arrays en la base de datos
Descargar imágenes de Firebase Storage y mostrarlas en Flutter
Procesando datos con BLoC Pattern
Trayendo datos de Cloud Firestore
Persistiendo datos de un usuario logueado
Aplicando Filtros en Cloud Firestore
¡Renovaremos este curso! Te quedan unos dÃas para concluirlo.
Construyendo los Places en la pantalla de Home
Mostrando los Places en la pantalla de Home
Actualizando datos en tiempo real
Manejando la lógica de likes, como botón toggle.
Insertando y obteniendo referencias en datos de Firestore.
Usando el caché para cargar imágenes más rápido
StreamController, sink, add y StreamBuilder
Conclusiones
¡Renovaremos este curso! Te quedan unos dÃas para concluirlo.
Conclusiones
Camila Barajas Salej
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
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
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?