Laravel 11 desde cero + integración con Tailwind.css y Vue 3
Por Andrés Cruz Yoris | Licenciado en Computación - Universidad Central de Venezuela
Garantia de reembolsos 15 dias
Este curso incluye:
▪️ 52h 30mde duración bajo demanda
▪️ 415 lecciones
▪️ 0 recursos descargables
▪️ Disponible en dispositivos móviles
▪️ Acceso para siempre
▪️ Idioma:
- Español
▪️ Consultas ilimitadas
⚑ Certificado de finalización
Lo que aprenderás
Lo que aprenderás
🟧 Manejo de Laravel: Aprenderás a emplear Laravel de manera fluida, comprendiendo sus componentes fundamentales para el desarrollo de aplicaciones web modernas.
🟧 Desarrollo de Aplicaciones de Gestión: Serás capaz de desarrollar aplicaciones de gestión de datos utilizando Laravel, desde la creación y organización de módulos hasta la implementación de CRUD y otras funcionalidades clave.
🟧 Integración de Tecnologías Modernas: Adquirirás las habilidades necesarias para integrar Laravel con Tailwind CSS para un diseño elegante y Vue 3 para crear interfaces de usuario interactivas.
🟧 Seguridad y Autenticación: Aprenderás a implementar sistemas de login con protección de contraseñas, recuperación de credenciales, y gestión de distintos niveles de acceso entre usuarios.
🟧 Desarrollo de Aplicaciones SPA: Construirás aplicaciones web de página única (SPA) orientadas al usuario final, como un blog, utilizando Laravel y Vue 3.
🟧 Formularios y Validaciones: Desarrollarás la capacidad de crear, validar y procesar formularios eficientemente dentro de tus aplicaciones.
Contenido del curso
Contenido del curso
U1: Introducción a Laravel
- Introducción
- Software necesario: Global
- Ambiente de desarrollo para Windows: Laragon
- Ambiente de desarrollo para MacOS y Windows: Laravel Herd
- Crear un proyecto en Laravel en Windows
- Crear un proyecto en Laravel en MacOS
- Estructura de carpetas
- Reparar could not find driver en Windows
- Ejecutar migraciones (solo si creastes el proyecto por composer)
- Primeros pasos con Laravel
- Rutas: Introducción
- Modelo vista controlador
- Configurar la base de datos MySQL: Mac con Laravel Herd
- Demo: Configurar la base de datos MySQL
- Artisan la línea de comandos: Introducción
U2: Rutas, controladores y vistas
- Tarea: Crear dos rutas con nombre y vistas asociadas
- Redirecciones
- Directivas de blade: if y for
- Layout o vista maestra
- Controlador: Primeros pasos
- Rutas de tipo recurso
- Parámetros en las rutas
- compact
U3: Migraciones
- Introducción
- Presentación
- Crear una migración: Categoría
- Crea una migración: Post
- Publicar en github
U4: MVC y CRUD
- Introducción
- Crear un controlador tipo recurso (CRUD)
- Crear un registro
- Actualizar un registro
- Eliminar un registro
- Tipos devueltos en los métodos de los controladores
- Relaciones foráneas
- Publicar en github
U5: CRUD y formularios
- Introducción
- Crear: Configurar formulario
- Crear: Controlador, create
- Crear Vista, CSRF
- Crear: Controlador, store
- Crear: Validaciones en el controlador mediante el request
- Crear: Validaciones en el controlador mediante el request, segunda forma
- Crear: Validaciones mediante una clase FormRequest
- Crear: Vistas, Mostrar errores del formulario
- Crear: Request, Validar el slug
- Crear: Vistas, Mostrar errores en un fragmento de vista aparte
- Listado
- Listado: Paginación
- Listado: Opciones CRUD
- Tarea: Proceso de editar
- Fragmento de vista para los campos
- Valores anteriores
- Carga de imágenes: Primeros pasos
- Carga de imágenes
- Tarea: Eliminar
- Tarea: Vista de detalle
- CRUD de categorías
- Tinker
- Rutas: Repaso
- Rutas agrupadas
- Publicar en github
U6 : Mensajes por sesión
- Introducción
- Mensajes tipo flash
- session
- Publicar en github
U7: Laravel Breeze
- Introducción
- Presentación
- Instalar y configurar
- Explorar el contenido generado
- Adaptar estilo al resto de la aplicación: Layout
- Adaptar estilo al resto de la aplicación: Tablas
- Adaptar estilo al resto de la aplicación: Formularios
- Adaptar estilo al resto de la aplicación: Container
- Adaptar estilo al resto de la aplicación: Configurar los botones
- Adaptar estilo al resto de la aplicación: Carta
- Adaptar estilo al resto de la aplicación: Alerta
- Adaptar estilo al resto de la aplicación: Estilos generales
- Agregar enlaces de navegación
- Laravel Breeze variantes en la instalación: Vue
- Manejo de roles: Presentación
- Manejo de roles: Migración
- Manejo de roles: Middleware
- Manejo de roles: Asignar rol de admin y usuario de prueba
- Publicar en github
U8: Operaciones comunes en Eloquent (ORM)
- Ver el SQL
- Joins
- Introducción
- Ordenación
- WhereIn y WhereNotInt
- Where o orWhere anidados
- Obtener un registro
- Limitar la cantidad de registros
- Obtener registros aleatorios
U9: Componentes
- Introducción
- Presentación
- Controlador y componente para el blog
- Layout
- Diseño para el listado
- Detalle
- Slot por defecto
- Slots con nombre
- Slots con nombre en una línea
- Componentes con clases: Vista de detalle
- Invocar métodos
- Pasar parámetros a los componentes
- Atributos: Mezclar
- Atributos: Class
- Props
- Obtener y filtrar atributos
- Función de flecha en PHP
- Componentes dinámicos
- Ocultar atributos/métodos
- Alcance de los componentes
- Publicar en github
U10: Seeders y Factories
- Introducción
- Presentación
- Seeder para las categorías
- Seeder para los posts
- Clase DatabaseSeeder
- Factory para los posts
- Publicar en github
U11: Rest Api
- Introducción
- Publicar archivo de api.php
- Crear controlador de categorías y posts y hola mundo
- CRUD para la API de CategoríasCRUD para la API de Categorías
- Tarea: CRUD para la API de Posts
- Probar Api
- Implementar métodos personalizados: Todos los registros
- Implementar métodos personalizados: Slug
- Manejar excepciones
- Publicar en github
U12: Consumir Rest Api desde Vue 3
- Introducción
- Instalar y configurar Vue
- Hola Mundo en Vue
- Primeros pasos con Oruga UI
- Exponer axios
- Generar un listado
- Exponer la relación de categoría
- Instalar Material Design Icons
- Paginación
- Ruteo con Vue Router: Instalación y presentación
- Ruteo con Vue Router: Crear Ruteo
- Ruteo con Vue Router: Crear enlaces
- Componente para crear: Estructura base
- Componente para crear: Crear un post
- Componente para crear: Crear un post con validaciones
- Editar un registro
- Eliminar un registro
- Parámetros opcionales para la ruta de Vue en Laravel
- Tailwind.css en el proyecto en Vue con Oruga UI
- Container
- Cambios varios en el componente de listado
- Cambios varios en el componente de guardado
- Mensaje de confirmación para eliminar
- Mensaje de acción realizada
- Upload de archivos: Controlador
- Upload de archivos: Vue
- Upload de archivos: Tag
- Upload de archivos: Manejo de errores de formulario
- Upload de archivos: Drag and Drop
- Borrar archivos anteriores
- Opcional: Migrar rutas a App.vue
- Publicar en github
U13: Autenticación en la Rest Api (Sanctum) - Cambios en la App en Vue
- Introducción
- Presentación
- Autenticación para una web SPA
- Módulo de Login
- Crear usuario
- Módulo de Login: Pruebas y Adaptar a la Rest Api
- Módulo de Login: Pruebas con el login y la App en Vue
- Proteger rutas
- Componente para Login
- Códigos de estados en la respuesta del controlador de Login
- Mostrar login incorrecto
- Resumen y siguientes pasos
- Autenticación en base a tokens: Configuraciones bases
- Autenticación en base a tokens: Crear tokens
- Consumir recurso protegido con el token
- Manejo el token de autenticación
- Crear objeto global de usuario en Vue
- Redirecciones en el componente de login
- Enviar token en las peticiones
- Cerrar la sesión: Sesión
- Cerrar la sesión: Token
- Manejar el token de autenticación mediante una Cookie
- Unificar Token y sesión de Sanctum
- Verificar el token del usuario: Presentación
- Verificar el token del usuario: Implementación
- Proteger rutas por autenticación requerida
- Detalles funcionales finales
- Detalles visuales: Login
- Detalles visuales: Container
- Detalles visuales: Navbar
- Detalles visuales: Navbar: Enlaces de navegación
- Detalles visuales: Logo
- Navbar: Avatar
- Detalles visuales: Navbar: Detalles finales
- Carta para los componentes CRUD
- Bloquear botón de login al momento del submit
- Publicar en github
U14: Cache
- Introducción
- Presentación
- Uso básico de la caché
- Contenido HTML o fragmento de vista en módulo web
- Ejemplo con el método rememberForever
- Evitar la operación a la base de datos en detalle
- Contenido JSON en Rest Api
- Caché de rutas
- Método de ayuda cache
- Publicar en github
- Demo: Cache con Redis
U15: Gate Y Políticas (Autorización)
- Introducción
- Presentación
- Migración para los posts
- Cambios en los Seeders, Facades y modelo del Post
- Gate: Presentación
- Primer Gate
- Política: Presentación
- Primera Política
- Respuestas de las políticas
- Modificar guardado de post
- Métodos importantes
- Método before
- Publicar en Github
U16: Roles y Permisos (Spatie)
- Introducción
- Presentación
- Instalar y configurar
- Seeder: Permisos y roles
- Métodos para asignar: Roles a permisos
- Métodos para asignar: Permisos a roles
- Verificar permisos en vistas
- Crear un CRUD de roles
- Crear un CRUD de permisos
- Agregar/remover permisos a roles: Estructura inicial
- Asignar permisos al rol mediante un formulario
- Instalar axios
- Asignar permisos al rol mediante peticiones HTTP mediante JavaScript
- Adaptar el método de asignación de permisos para manejar peticiones por formularios y peticiones axios
- Agregar un item (permiso) al listado
- Remover un permiso de un rol mediante un formulario
- Remover permisos del rol seleccionado
- Remover un item (permiso) al listado
- Evitar insertar permisos repetidos en el listado
- Crear CRUD para los usuarios: Parte 1
- Crear CRUD para los usuarios: Parte 2
- Generar factory para usuarios
- Gestión de roles a usuario: Listado de roles
- Gestión de roles a usuario: Listado de roles asignados al usuario
- Gestión de roles a usuario: Asignar roles
- Gestión de roles a usuario: Remover roles
- Gestión de permisos a usuario: Listado de permisos
- Gestión de permisos a usuario: Asignar permisos a usuario
- Gestión de permisos a usuario: Remover permisos a usuario
- Verificar accesos mediante spatie: Crud de posts y categorías
- Verificar accesos mediante spatie: Acceso al CRUD de Post
- Verificar accesos mediante spatie: Acceso al CRUD de Categoría
- Verificar accesos mediante spatie: Acceso al CRUD desde las vistas
- Verificar accesos mediante spatie: Acceso al CRUD de Usuarios
- Migrar del esquema anterior de los roles a spatie
- Verificar accesos mediante spatie: Crud de roles y permisos
- Migrar verificación de permisos de controladores a Gate para los usuarios
- Definir enlaces y verificación de accesos a los CRUDs en las vistas
- Diseño
- Publicar en github
U17: Relaciones
- Introducción
- Presentación
- Relaciones uno a uno: Primeros pasos
- Relaciones uno a muchos
- Relaciones muchos a muchos: Estructura
- Relaciones muchos a muchos: Pruebas
- Relaciones muchos a muchos: Polimórficas, Presentación
- Relaciones muchos a muchos: Polimórficas, Estructura
- Relaciones muchos a muchos: Polimórficas, Pruebas
- Reto: CRUD de etiquetas
- Selección de etiquetas en publicaciones
- Publicar en github
U18: Aspectos generales
- Introducción
- De dónde partimos
- Variables de entorno y configuraciones: Presentación
- Variables de entorno y configuraciones
- Logging: Presentación
- Logging
- Paginación personalizada
- Enviar correos electrónicos, elementos claves
- Enviar correos electrónicos, implementación
- Helpers
- Colecciones
- Operaciones transaccionales en la base de datos
- Eager loading y lazy loading: Presentación
- Lazy Loading (Carga perezosa)
- Eager Loading (Carga ansiosa)
- Eager loading y lazy loading: Segundo Ejercicio
- Mutadores y accesores
- Localización y traducción: Presentación
- Localización y traducción: Cadenas de textos para la traducción
- Localización y traducción: Traducciones de ejemplo
- Localización y traducción: Traducciones a nivel del framework
- Configurar la configuración regional (localización)
- Demo Middleware para prefijo de lenguaje en la URL
- Localización y traducción: Atributos
- Localización y traducción: Atributos y Mayúsculas
- Atributos personalizados en @vite
- Remover la carpeta public o index.php de la URL en Laravel
- Queues y Job / Colas y Trabajos: Presentación
- Queues y Job / Colas y Trabajos: Flujo
- Queues y Job / Colas y Trabajos: Primer ejemplo
- Queues y Job / Colas y Trabajos: Procesar cola
- Queues y Job / Colas y Trabajos: Enviar correo y pase de parámetros
- Queues y Job / Colas y Trabajos: Algunas opciones y trabajos fallidos
- Queues y Job / Colas y Trabajos: Pruebas adicionales
- Instalar Redis en Laragon
- Queues y Job / Colas y Trabajos: Procesar Imagen, crear procedimiento
- Queues y Job / Colas y Trabajos: Procesar Imagen, job
- Queues y Job / Colas y Trabajos: Atributos de clase Job
- Manejo de excepciones: Presentación
- Manejo de excepciones: $exceptions->render()
- Manejo de excepciones: $exceptions->respond()
- Manejo de excepciones: Páginas de errores personalizadas
- Laravel a producción, Apache: Claves
- Laravel a producción, Apache: FTP
- Laravel a producción, Apache: Configuraciones finales
- Manejo de excepciones: Excepciones personalizadas
- Estrangulamiento/Throttling
U19: Paquetes imprescindibles
- Introducción
- De donde partimos
- Simple QR
- Laravel Excel: Introducción
- Laravel Seo: Introducción
- Laravel Debugbar
- Paypal: Presentación
- PayPal: Sitio web y configuraciones
- PayPal: Implementar un sencillo sistema de pagos en el cliente, Configuración inicial
- PayPal: Implementar un sencillo sistema de pagos en el cliente, Crear Orden
- PayPal: Implementar un sencillo sistema de pagos en el servidor, Recibir orden
- PayPal: Implementar un sencillo sistema de pagos en el servidor, Generar token
- PayPal: Implementar un sencillo sistema de pagos en el servidor, Completar orden
- PayPal: Implementar un sencillo sistema de pagos en el servidor, Siguientes pasos
- mobiledetectlib: Detectar navegación móvil
- Laravel Fortify: Presentación, configuración e instalación
- Laravel Fortify: Funcionamiento básico
U20: Pruebas
- Introduccion
- Presentación
- Entendiendo las pruebas
- Operaciones matemáticas
- Probar la API: Presentación
- Probar la API de api/category/all
- Cambios en la definición de PHPUnit, base de datos para el testing y en memoria
- Probar la API de POST api/category
- Demo: API de POST api/category sin base de datos dedicada
- Demo: API de POST api/category, validar datos de salida
- Tarea: API de GET api/category/, detalle
- API de PUT api/category/, editar
- API de DELETE api/category/, eliminar
- API, errores de validaciones, título
- assertContains, aclaratoria
- API, errores de validaciones, slug
- API, errores de validaciones, slug, único
- API, páginas de 404 en detalle
- Probar la API de api/post/all
- Probar la API de POST api/post
- API de PUT api/post/, editar
- API de DELETE api/post/, eliminar
- API, errores de validaciones, título
- API, errores de validaciones, slug
- API, errores de validaciones, imagen
- API, errores de validaciones, slug, único
- API, páginas de 404 en detalle
- API de GET api/, detalle
- API, autenticación, generar token
- API, autenticación, logout, auth mediante Api Rest
- API, autenticación, logout, auth manual
- API, autenticación, check token
- API, autenticación, login inválido
- API, autenticación, check token inválido
- Consumir token desde recursos protegidos
- Emplear la generación de tokens en todas las pruebas
- App Web: Primeros pasos
- App Web: Login, GET
- Problema con los hash en el password
- App Web: Login, POST
- App Web: Login, GET y POST en una misma prueba
- App Web: Login invalido
- App Web: Registrar
- App Web: Registrar usuario invalido
- App Web Blog: Listado Paginado
- TDD para desarrollar funcionalidades desde las pruebas
- App Web Blog: Detalle
- App Web Blog: Detalle, con cache
- App Web Dashboard: Listado
- App Web Dashboard: Formulario GET
- App Web Dashboard: método setUp() y autenticación
- App Web Dashboard: método setUp(), roles y permisos
- App Web Dashboard: Formulario POSTApp Web Dashboard: Formulario POST
- App Web Dashboard: Formulario POST, invalido
- App Web Dashboard: Formulario Editar, Get
- App Web Dashboard: Formulario Editar, Put
- App Web Dashboard: Formulario Editar, invalido
- App Web Dashboard: Categoría
- App Web Dashboard: Role
- App Web Dashboard: Permisos
- App Web Dashboard: Usuario
- App Web Dashboard: Formulario Editar, eliminar
- App Web Dashboard: Usuario: datos inválidos
- Pruebas con Pest
- Probar la API de api/category/all
- Token de autenticación
- Sin archivo Pest.php
- Probar la API de POST api/category
- Test para API CRUD categoría
- Test para API CRUD post
- Test para API CRUD usuario
- Test para Dashboard CRUD categoría
- Test para Dashboard CRUD post
- Resto de las pruebas
Evaluación del curso
- Este curso contiene un examen final
G-Tools: Para estudiantes
- Acceso exclusivo a herramientas de vanguardia para estudiantes: mejora tu empleabilidad, participa en eventos exclusivos, aprovecha nuestro asistente virtual inteligente y más.
⚑ Certificado de finalización
Tu certificado digital personalizado, una insignia única de tus logros, con validez internacional, duración del curso y código QR para verificación instantánea.
__
Recursos descargables:
Descripción
Descripción
✔️ Este curso, "Laravel 11 desde cero + integración con Tailwind.css y Vue 3", te ofrece una formación integral y práctica para desarrollar aplicaciones web modernas utilizando Laravel, un potente framework de PHP. A lo largo de este curso, aprenderás desde los conceptos básicos hasta las técnicas avanzadas para crear aplicaciones robustas y estilizadas.
A través de ejemplos prácticos, aprenderás a integrar Laravel con Tailwind CSS, para lograr un diseño elegante y responsivo, y con Vue 3, para construir interfaces de usuario interactivas. Este curso es ideal para desarrolladores que desean dominar el stack completo y llevar sus habilidades al siguiente nivel.
Además, el curso incluye la implementación de funcionalidades clave como la autenticación de usuarios, el desarrollo de aplicaciones SPA, y la gestión de formularios. Con más de 10 horas de contenido y un enfoque paso a paso, estarás preparado para desarrollar aplicaciones web profesionales que destacan tanto en funcionalidad como en diseño.
Este curso es perfecto para desarrolladores que buscan mejorar sus habilidades y ampliar sus oportunidades laborales en el campo del desarrollo web fullstack. ¡Empieza hoy y convierte tus conocimientos en una ventaja competitiva!
Empresas de todas las industrias invierten en el desarrollo de sus equipos con este curso de G-Talent y Andrés Cruz Yoris
La integración con Tailwind permite a los desarrolladores crear interfaces personalizadas sin complicaciones.
La práctica constante es clave para dominar Laravel y Tailwind CSS.
El curso se centra en proyectos prácticos, lo que facilita la comprensión de conceptos complejos.
Andrés Cruz Yoris
Licenciado en Computación - Universidad Central de Venezuela
Sobre Andrés Cruz Yoris
Sobre Andrés Cruz Yoris
Licenciado en Computación - Universidad Central de Venezuela
Desarrollador de software con más de 10 años de experiencia. Apasionado por la programación y el aprendizaje continuo, Andrés ha dedicado su carrera a la creación de servicios y aplicaciones que faciliten la vida de los usuarios, siempre explorando y adoptando las últimas tecnologías relacionadas con Internet.
Andrés Cruz Yoris combina su sólida formación en computación con una profunda curiosidad por las nuevas tecnologías. A lo largo de más de una década, ha trabajado en diversos proyectos de desarrollo de software, donde su enfoque autodidacta le ha permitido dominar múltiples lenguajes de programación y herramientas. Su capacidad para aprender de forma independiente y aplicar estos conocimientos en proyectos reales lo convierte en un desarrollador versátil y efectivo.
Ahora, Andrés se dedica a compartir su vasta experiencia con otros, ofreciendo sus conocimientos de manera accesible y práctica. A través de sus cursos, busca ayudar a otros a aprender rápidamente y de forma cómoda, brindando una educación que combina teoría con ejemplos y aplicaciones prácticas.
¿Qué hace a Andrés diferente?
▪️ Experiencia en Desarrollo de Software: Con más de 10 años en la industria, Andrés ha adquirido una amplia experiencia en la creación de aplicaciones y servicios que mejoran la vida de los usuarios.
▪️ Pasión por la Tecnología y el Aprendizaje: Andrés es un entusiasta de las nuevas tecnologías y un autodidacta, lo que le permite estar siempre a la vanguardia en su campo.
▪️ Enseñanza Práctica y Accesible: Su enfoque educativo está diseñado para que los estudiantes puedan aprender de manera rápida y efectiva, con un énfasis en la aplicación práctica de los conocimientos.
Si estás buscando aprender de un experto en computación con una pasión por la tecnología y la enseñanza, Andrés Cruz Yoris es la opción ideal.
Descubre el valor añadido: G-Tools y mucho más
Además de contenido de alta calidad, este curso te brinda acceso a G-Tools, una suite de herramientas y recursos diseñados para potenciar tu aprendizaje y tu carrera profesional.
Recursos de apoyo de empleabilidad, eventos en vivo y aprovecha la inteligencia artificial de Aixa.IA para resolver tus dudas en cualquier momento.
Explora otros cursos de Andrés Cruz Yoris
Descubre otros cursos y aprende algo nuevo hoy mismo. ¡Aprende de los mejores!
-
Django 5 + Integración con Vue 3 y Bootstrap 5
★★★★★(9)$1399 USD$7499 USDPrecio unitario /Agotado -
Laravel 11 desde cero + integración con Tailwind.css y Vue 3
★★★★★(10)$1599 USD$7499 USDPrecio unitario /Agotado
Los cursos más vendidos en Desarrollo Personal
-
-
Manejo de Personas Difíciles en el Trabajo: Estrategias Efectivas para Mejorar tu Ambiente Laboral
★★★★★(18)$1599 USD$5999 USDPrecio unitario /Agotado -
-
-
-
Introducción al liderazgo y gestión de equipos
★★★★★(10)$1399 USD$5999 USDPrecio unitario /Agotado -
-
-
Construir hábitos basado en Behavioral Science.
★★★★★(14)$1399 USD$5999 USDPrecio unitario /Agotado -
-
Mindfulness y Bienestar: Revoluciona tu Empresa
★★★★★(224)$1399 USD$5999 USDPrecio unitario /Agotado -
-
Comunicación Efectiva: Aprendiendo a Mejorar la Comunicación Verbal
★★★★★(86)$1399 USD$5999 USDPrecio unitario /Agotado -
Planificación y Gestión de Proyectos con Asana
★★★★★(10)$1399 USD$5999 USDPrecio unitario /Agotado -
Planificación y Gestión de Proyectos con Microsoft Planner
★★★★★(10)$1399 USD$5999 USDPrecio unitario /Agotado -
-
Comunicación y Liderazgo en la Era Digital
★★★★★(171)$1399 USD$5999 USDPrecio unitario /Agotado -
Tácticas para gestionar con personas difíciles en el trabajo
★★★★★(53)$1399 USD$8000 USDPrecio unitario /Agotado
¿Qué esperar de los cursos de G-Talent?
-
Estudia a tu ritmo
Consigue cursos en video, impartidos por instructores de primera, para estudiar a tu propio ritmo
-
Aprende de los mejores
Lleva cursos de alta calidad desarrollados expertos seleccionados con cuidado
-
Calidad garantizada
¿No estás seguro?, todos nuestros cursos ofrecen garantía de éxito de 15 días
-
Acompañamiento permanente
Aprende a tu ritmo, con actualización, acceso y acompañamiento de por vida.
-
Certificado personalizado
Consigue un certificado de clase mundial, con validez internacional y código único cifrado QR
-
G-Tools: Para estudiantes
Encuentra todas las herramientas que necesitas para tu empleabilidad en un solo lugar.