Curso Laravel + Flutter: Tienda Online de Abarrotes con Pedidos y Delivery
Aprende a crear una tienda online de abarrotes con Laravel y Flutter, implementando pedidos por delivery. Incluye acceso al código fuente descargable.
¿Qué aprenderás?
Detallamos algunas de las funcionalidades que desarrollaremos durante el curso:
Aplicación Web con Laravel
- Registro, autenticación y gestión de usuarios con diferentes roles y permisos.
- Desarrollo de un panel de administración.
- CRUD completo para categorías, subcategorías, usuarios, productos, pedidos y otros recursos.
- Diseño y desarrollo de una API REST para la comunicación con aplicaciones externas.
- Validación de datos y gestión de errores.
- Gestión de productos, categorías, stock y estados de los pedidos.
- Implementación de un carrito de compra y proceso de realización de pedidos.
- Gestión y seguimiento de pedidos.
- Integración entre la aplicación web y la API REST.
Aplicación Móvil con Flutter
- Registro, autenticación y gestión de sesiones de usuario.
- Consumo de la API REST desarrollada en Laravel.
- Implementación de un servicio para la comunicación con el backend.
- Visualización y búsqueda de productos y categorías.
- Carrito de compra y gestión de pedidos desde el dispositivo móvil.
- Gestión de estados, respuestas y errores de las peticiones a la API.
- Integración completa entre la aplicación móvil y el backend desarrollado en Laravel.
Enfoque práctico
El curso tiene un enfoque eminentemente práctico. Durante el desarrollo construiremos un proyecto completo, conectando el backend desarrollado con Laravel con una aplicación móvil desarrollada en Flutter.
Por este motivo, no nos detendremos en explicar conceptos básicos de programación. Se recomienda contar con conocimientos previos de programación y desarrollo web, de manera que podamos centrarnos en la arquitectura, implementación e integración de las diferentes tecnologías utilizadas en el proyecto.
Contenido del curso
6 módulos disponibles
Módulo 1 Planteamiento y herramientas
- 3:17
-
Planteamiento4:05
- 7:10
-
Base de datos5:20
Módulo 2 BackEnd Administración
- 16:51
-
Módulo Usuarios50:32
-
Módulo Categorías57:01
-
Módulo Subcategorías38:39
-
Módulo Productos38:45
-
Módulo Pedidos35:44
-
Módulo Detalle21:24
-
Carrusel de imágenes21:25
-
Blog para SEO31:13
-
Roles de usuario48:26
Módulo 3 FrontEnd página web
- 38:56
-
Menú de navegación dinámico22:53
-
Carrusel de imágenes dinámico19:13
-
Productos en la Portada21:44
-
Arquitectura de urls en Laravel10:51
-
Mostrar categorías y subcategorías25:32
-
Mostrar Producto26:20
- 30:30
-
Integrar el Carrito de Compra1:22:30
-
Procesar el Pedido46:44
-
Historial del Pedido35:39
Módulo 4 Servicios web API Rest
-
Integrar Json Web Tokens8:38
-
Autenticación con JWT8:34
-
Enviar Productos en JSON9:44
-
Recibir pedidos en Laravel6:11
Módulo 5 Desarrollo del aplicativo
-
Planteamiento de la app en Flutter19:51
- 14:52
- 15:52
-
Implementación del Servicio Web (API)18:00
-
Modelos Categoria, Subcategoria y Producto12:22
-
Creación de la Base de Datos Sqflite18:45
-
Métodos para gestionar la DB DbHelper22:30
-
Modelo Carrito8:57
-
Métodos para la gestión del Carrito25:56
-
Implementación de la Pantalla Inicio27:39
-
Implementación de la Pantalla Login46:35
- 36:00
-
Uso de la API para sincronizar la BD22:50
-
Implementación Pantalla Categoria con Sqflite30:11
-
Implementación de la pantalla Productos25:30
-
Implementación Pantalla Producto17:56
-
Logout de la App Delivery26:44
-
Integrar ChangeNotifierProvider10:51
-
Integrar Notificaciones en la AppBar22:30
-
Botón Agregar al Carrito21:06
-
Resumen Carrito de Compra32:28
-
Envío del Pedido Delivery28:30
- 11:22
Módulo 6 Bonus
- 39:52
- 55:09
- 9:22
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
Tecnologías
| Área | Laravel 7 + Flutter | Laravel 13 + Flutter actualizado |
|---|---|---|
| Laravel | Laravel 7 | Laravel 13 |
| PHP | PHP 7 | PHP 8.3+ |
| Autenticación | Autenticación tradicional | Laravel Sanctum |
| API | API REST | API REST actualizada |
| Flutter | Versión anterior | Flutter actualizado |
| Dart | Versión anterior | Dart actualizado |
| Estado | Estado local | Provider + ChangeNotifier |
| Proveedores | — | MultiProvider |
| Navegación | Navegación básica | Navegación actualizada |
| Arquitectura | Código acoplado | Servicios, modelos y providers separados |
| Tienda | Catálogo + carrito + pedidos | Catálogo + carrito + pedidos |
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
📂 Estructura del proyecto en el ZIP
Código fuente-
db_tiendalaravelflutter.sql
-
flutter.zip
-
assets
-
images
-
ic_logo.png
-
-
-
lib
-
main.dart
-
models
-
category_model.dart
-
product_model.dart
-
user_model.dart
-
-
providers
-
auth_provider.dart
-
cart_provider.dart
-
-
screen
-
cart_screen.dart
-
home_screen.dart
-
login_screen.dart
-
register_screen.dart
-
welcome_screen.dart
-
-
services
-
api_service.dart
-
-
-
pubspec.yaml
-
-
laravel.zip
-
.env
-
app
-
Http
-
Controllers
-
Admin
-
CategoryController.php
-
OrderController.php
-
PortadaController.php
-
PostController.php
-
ProductController.php
-
UserController.php
-
-
Api
-
AuthController.php
-
JsonController.php
-
-
Auth
-
ConfirmPasswordController.php
-
ForgotPasswordController.php
-
LoginController.php
-
RegisterController.php
-
ResetPasswordController.php
-
VerificationController.php
-
-
CartController.php
-
Controller.php
-
FrontController.php
-
HomeController.php
-
-
Middleware
-
CheckRole.php
-
-
-
Models
-
Category.php
-
Order.php
-
Orderitem.php
-
Portada.php
-
Post.php
-
Product.php
-
Role.php
-
RoleUser.php
-
User.php
-
-
Providers
-
AppServiceProvider.php
-
-
View
-
Composers
-
CategoryComposer.php
-
-
-
-
bootstrap
-
app.php
-
cache
-
.gitignore
-
packages.php
-
services.php
-
-
providers.php
-
-
composer.json
-
config
-
app.php
-
auth.php
-
cache.php
-
database.php
-
filesystems.php
-
logging.php
-
mail.php
-
queue.php
-
sanctum.php
-
services.php
-
session.php
-
-
database
-
.gitignore
-
database.sqlite
-
factories
-
UserFactory.php
-
-
migrations
-
0001_01_01_000000_create_users_table.php
-
0001_01_01_000001_create_cache_table.php
-
0001_01_01_000002_create_jobs_table.php
-
2026_09_02_234742_create_categories_table.php
-
2026_09_02_234751_create_products_table.php
-
2026_09_03_000056_create_posts_table.php
-
2026_09_03_000508_create_orders_table.php
-
2026_09_03_000555_create_orderitems_table.php
-
2026_09_03_001718_create_roles_table.php
-
2026_09_03_002302_create_role_users_table.php
-
2026_09_03_002508_create_portadas_table.php
-
2026_09_03_023913_create_personal_access_tokens_table.php
-
-
seeders
-
DatabaseSeeder.php
-
-
-
public
-
.htaccess
-
favicon.ico
-
img
-
arequipalocal.png
-
Barlow-Regular.ttf
-
category
-
ic_logo.png
-
portada
-
092348c6-4cb9-4787-973c-0a4154f09156.webp
-
215ddf2d-7d7e-4ee2-97a8-35fefed64fa7.webp
-
226b08ee-c6b2-4aad-bacc-1890209f16db.webp
-
35346e32-8869-4430-9b2c-e8e4705cb845.webp
-
403bef86-0f69-4e9c-95cf-cb724fb28cfd.webp
-
41584e46-58cc-439d-b1e3-7fd91ae3d810.webp
-
9689a572-71c9-48e9-9637-8d953cbc0287.webp
-
a49814f7-5280-4802-ac5f-d5ee5e9fd47b.webp
-
-
post
-
tiendas-retail-en-peru.jpg
-
-
product
-
1788475334_6a99f7c6a9a8b.webp
-
1788475499_6a99f86b4227a.webp
-
1788475714_6a99f942d78e0.webp
-
1788476119_6a99fad7184bc.webp
-
1788476228_6a99fb441b6fa.webp
-
1788541663_6a9afadfc10e6.webp
-
1788541710_6a9afb0eab379.webp
-
-
-
index.php
-
robots.txt
-
-
resources
-
css
-
app.css
-
-
js
-
app.js
-
-
views
-
admin
-
aside.blade.php
-
category
-
create.blade.php
-
edit.blade.php
-
index.blade.php
-
-
dashboard.blade.php
-
order
-
edit.blade.php
-
index.blade.php
-
show.blade.php
-
-
portada
-
create.blade.php
-
edit.blade.php
-
index.blade.php
-
-
post
-
create.blade.php
-
edit.blade.php
-
index.blade.php
-
-
product
-
create.blade.php
-
edit.blade.php
-
index.blade.php
-
-
user
-
edit.blade.php
-
index.blade.php
-
-
-
auth
-
login.blade.php
-
passwords
-
confirm.blade.php
-
email.blade.php
-
reset.blade.php
-
-
register.blade.php
-
verify.blade.php
-
-
cart
-
checkout.blade.php
-
index.blade.php
-
-
cliente
-
dashboard.blade.php
-
pedido.blade.php
-
-
front
-
blog.blade.php
-
category.blade.php
-
post.blade.php
-
product.blade.php
-
-
home.blade.php
-
layouts
-
admin.blade.php
-
app.blade.php
-
-
partials
-
message.blade.php
-
-
welcome.blade.php
-
-
-
routes
-
api.php
-
console.php
-
web.php
-
-
vite.config.js
-
-
leeme.txt
Este curso incluye:
- Acceso por 1 año
- Guía PDF descargable
- Código fuente descargable