Tabla de Contenido
Temario
Tienes a disposición el temario para descargar del curso Flutter y Laravel Tienda Delivery en formato PDF
Planteamiento y herramientas
1. Introducción
El objetivo es sentar las bases para que el alumno pueda desarrollar aplicaciones avanzadas e integrales, usando tecnologías del lado backend y frontend
2. Planteamiento
Para plantear el desarrollo de la app debemos tener claro el objetivo que buscamos, lo que nos lleva a el diseño o bosquejo funcional del proyecto
3. Herramientas y programas
Hablaremos acerca del software necesario para llevar a cabo nuestro proyecto nombrando Visual Studio Code, Android Studio, etc
4. Base de datos
Planteamiento de la base de datos que se usará, definiremos las tablas y estableceremos las relaciones de integridad referencial que necesitamos en el Py.
BackEnd Administración
5. Instalación de Laravel
Instalación de Laravel, instalación de paquetes, autenticación en laravel 7, integración Bootstrap, Laravel Collective.
6. Módulo Usuarios
Desarrollo de las interfaces y la lógica de programación, establecer los niveles de acceso : administrador, clientes. Login, Registro
7. Módulo Categorías
Desarrollo de la sección categorías de productos con enfoque al SEO, Implementación del CRUD Inserción, Edición, Eliminación de un registro en Laravel
8. Módulo Subcategorías
Desarrollo de la sección subcategorías de productos, Implementación del CRUD Inserción, Edición, Eliminación de un registro en Laravel
9. Módulo Productos
Desarrollo de la sección Productos, Implementación del CRUD Inserción, Edición, Eliminación de un registro en Laravel
10. Módulo Pedidos
Desarrollo de la sección Pedidos de productos, Implementación de listado de pedidos, actualización de entregas de cara a la administración en Laravel
11. Módulo Detalle
Desarrollo de la sección detalle del pedido con enfoque al SEO, Implementación del CRUD Inserción, Edición, Eliminación de un registro en Laravel
12. Carrusel de imágenes
Para la implementación de un Carousel en Laravel desde la parte administrativa se debe crear el CRUD con sus métodos correspondientes en el controlador.
13. Blog para SEO
Para crear un blog con una orientación hacia el posicionamiento SEO de una tienda se debe tener alguna estrategia en la generación de contenidos, como blog
14. Roles de usuario
Para establecer roles de usuario en una aplicación web en Laravel, es necesario declarar dos modelos role y role_user con sus relaciones y migraciones.
FrontEnd página web
15. Diseño de la portada
Para diseñar una portada bosquejamos que partes va a tener la página inicial distribuyendo el menú de navegación, el carrusel, los productos más vendidos.
16. Menú de navegación dinámico
Para implementar un menú dinámico la mejor forma es implementar ViewComposer con un provider para gestionar las peticiones para cada sección del proyecto.
17. Carrusel de imágenes dinámico
Para crear un carrusel dinámico debemos integrar el componente carousel de Bootstrap, luego inflar con datos desde la base de datos.
18. Productos en la Portada
Mostrar productos más visitados en la portada Curso Tienda Delivery Flutter y Laravel
19. Arquitectura de urls en Laravel
Arquitectura de urls en Laravel | Curso Tienda Delivery Flutter y Laravel 19
20. Mostrar categorías y subcategorías
Mostrar Categorías y Subcategorías en Laravel | Curso Flutter y Laravel Tienda Delivery 20
21. Mostrar Producto
Implementar sección producto en Laravel del curso tienda de abarrotes en Laravel y Flutter
22. Blog en Laravel
Implementamos el ViewComposer con la consulta al blog, luego modificamos las vistas en portada, categoria y subcategoria, finalmente la vista publicación
23. Integrar el Carrito de Compra
Para integrar un carrito de compra en una aplicación web con el Framework Laravel empleamos paquete que ayudan a esta finalidad, veamos el proceso
24. Procesar el Pedido
Procesar Pedidos Carrito de Compra | Curso Tienda Delivery Flutter y Laravel 24
25. Historial del Pedido
Historial de pedidos del Cliente | Curso Tienda Delivery Flutter y Laravel
Servicios web API Rest
26. Integrar Json Web Tokens
Para integrar la librería de autenticación por tokens debemos realizar los siguientes pasos que describimos en la lección de Curso de Flutter y Laravel
27. Autenticación con JWT
Estableceremos las rutas para la autenticación del usuario y listaremos los métodos necesarios.
28. Enviar Productos en JSON
Para enviar como respuesta datos JSON mediante una API Rest es necesario interpretar las consultas ORM y parsear dichos datos en JSON
29. Recibir pedidos en Laravel
Lección 39 API Rest Recibir pedidos en Laravel a través de un servicio web con estructura JSON enviada de una app Flutter hacia web Laravel
Desarrollo del aplicativo
30. Planteamiento de la app en Flutter
Diseño del flujo de navegación e interacción de la app en Flutter, con un editor de imágenes que nos permita bosquejar las pantallas
31. Creación del Proyecto Flutter
¿Cómo crear el proyecto en Flutter? para empezar a programar el carrito de compra con el SDK de Flutter
32. Estructura de Archivos
Vamos a crear la estructura de directorios y archivos para el proyecto de Flutter, y asi tener un mejor orden para reconocer en que lugar estamos.
33. Implementación del Servicio Web (API)
Para crear un Servicio Web que procese las operaciones de lectura y escritura con métodos post y get enlazamos a la Api Laravel para ello creamos una clase
34. Modelos Categoria, Subcategoria y Producto
Para crear modelos en Flutter definimos clases con atributos necesarios y métodos que ayudan a gestionar la data.
35. Creación de la Base de Datos Sqflite
Veremos ¿Cómo implementar una base de datos en Sqlite para una app Flutter con Carrito de Compra?. Integramos los paquetes necesarios y creamos una clase
36. Métodos para gestionar la DB DbHelper
¿Qué métodos son necesarios para administrar la BD? los principales que usaremos son: Inserción por cada modelo y lectura, además de otros como adicionales
37. Modelo Carrito
El modelo carrito permite saber que atributos contará la clase Carrito como id, nombre, precio, cantidad, etc, vamos a programarlo ahora.
38. Métodos para la gestión del Carrito
Los métodos permitirá dar dinámica a nuestro carrito con funcionalidades como agregar productos, actualizar la cantidad, y vaciar el carrito.
39. Implementación de la Pantalla Inicio
El diseño de la pantalla inicio tendrá una imagen, texto y un botón para acceder a la siguiente pantalla.
40. Implementación de la Pantalla Login
Vamos a diseñar y programar la pantalla de login es de decir el acceso para los usuarios de la aplicación en Flutter.
41. Implementación de la Pantalla Registro
Para programar una Pantalla Registro debemos agregar dos widgets tipo Textfield más un Button, la función es enviar datos por la API y devolver data.
42. Uso de la API para sincronizar la BD
Para llenar datos desde un servidor web en al Aplicativo debe existir una arquitectura llamada API la cual permite el intercambio de datos aplicaciones
43. Implementación Pantalla Categoria con Sqflite
Usaremos el widget GridView para mostrar las categorías de los productos en la pantalla.
44. Implementación de la pantalla Productos
Implementación Pantalla Productos organizados por subcategorias, para que el usuario vea los productos según la categoría elegida.
45. Implementación Pantalla Producto
Implementación de la PantallaProducto para mostrar información del producto a pedir, para ello pasamos la información en una variable de PantallaProductos
46. Logout de la App Delivery
Para cerrar una sesión en Flutter creada por JWT debemos usar el mismo servicio y destruir el token existente en la aplicación web y las preferencias.
47. Integrar ChangeNotifierProvider
Para aprender a integrar ChangeNotifierProvider en nuestro proyecto debemos encapsular todo el proyecto desde el Main de nuestra App para acceder a estados
48. Integrar Notificaciones en la AppBar
Para implementar notificaciones en Flutter podemos usar los estados de la clase carrito con el provider, se integra en la AppBar, cambiando el valor int
49. Botón Agregar al Carrito
Para implementar un botón Agregar al Carrito, debe instanciar una Botón donde su evento click afecte el estado actualizando los valores de la clase Carrito
50. Resumen Carrito de Compra
Para mostrar el Detalle de Carrito accedemos y recorremos la clase Carrito gestionadas con el provider de estados. Con opciones que permitan actualizar.
51. Envío del Pedido Delivery
Para programar esta funcionalidad integramos el servicio de la API, este JSON se envia de Flutter, Laravel la procesa y devuelve una respuesta a Flutter.
52. Confirmación del Pedido Delivery
La implementación es bastante sencilla, solo debemos interpretar el JSON, evaluar el success si es true o false e indicar el mensaje correspondiente.
Bonus
53. SEO Onpage en Laravel
Para implementar SEO Onpage Técnico en la aplicación Laravel debemos modificar estructuras HTML y cuidar la redacción de contenidos, urls.
54. Maquetación FrontEnd
Puntos que optimizaremos disposición de los elementos que componen cada sección del sitio web, combinación de colores, logo, favicon...
55. Diseño en Flutter
Modificaremos colores, aspecto gráfico de algunos widgets, implementaremos fuentes, logo en nuestra aplicación como un plus
Descripción del curso
Aprende a desarrollar una aplicación móvil para minimarket o tienda de abarrotes en Flutter y Laravel con sistema de pedidos por delivery integrando las dos aplicaciones mediante un servicio web (API Rest). Ten en cuentra que es un curso avanzado de Flutter y Laravel.
- Es una serie de videos explicativos del proceso de desarrollo acompañados de una redacción explicando el código por cada lección
- Tienes la disponibilidad del código fuente para hacerle las mejoras que desees
- Puedes adaptar la aplicación a cualquier tipo de negocio: Tienda de Abarrotes, Tienda de Juguetes, Librería, Tienda de Ropa, Tienda de Zapatos, Carnicerias, Pastelerías, etc.
Beneficios que te pueden interesar:
- Acceso a todos los scripts y recursos gráficos de cada lección conforme se publiquen
- Acceso a partes explicativas en las lecciones correspondientes.
- Al final del curso tendrás el código disponible para descargar de la aplicación web desarrollada en Laravel
- Al final del curso tendrás el código disponible para descargar de la aplicación móvil desarrollada en Flutter
¿Qué aprenderás?
Detallamos algunas funcionalidades:
Aplicación web en Laravel
- Registro y login con roles de usuario
- CRUD para categorias, usuarios, subcategorias, productos, pedidos, etc
- Implementación de una API Rest.
- Carrito de compra para realizar pedidos.
- Gestión de los pedidos.
Aplicación Móvil en Flutter
- Registro y login con roles de usuario
- Implementación de un servicio web para consumir la API Rest.
- Carrito de compra para realizar pedidos.
Se remarca que el curso tiene un enfoque práctico por tanto no nos detendremos en explicar aspectos básicos de programación.
Requisitos
Skill deseable el estudiante
Es deseable que domines las siguientes tecnologías para llevar el curso.
- Maquetación con Bootstrap - Intermedio
- Diseño de Base de datos en MySql - Intermedio
- Programación en Laravel con PHP - Intermedio
- Programación en Flutter con el lenguaje Dart - Intermedio
- Desarrollo de servicios web API Rest - Intermedio
Código fuente
Disponible
- Acceso al código fuente
- Acceso a recursos gráficos
- Formato descargable ZIP