Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Yizack/lista-tareas-laravel

Repository files navigation

Lista de Tareas

Lista de tareas utilizando Laravel, base de datos MySQL y Vue.

Demo: https://lista-tareas.yizack.com

Video demostración

2023-07-10_20-33-54.mp4

Índice

Tecnologías

  • Backend:
    • Laravel (PHP Framework)
    • Composer
    • MySQL
    • Node.js
    • Vite
    • Inertia
  • Frontend:
    • Vue 3
    • Bootstrap 5

Requerimientos para reproducción

  • Descargar e Instalar GitHub CLI
  • Descargar e Instalar PHP y MySQL, yo he utilizado XAMPP (PHP 8.2.4) como entorno
  • Dentro de la carpeta C:\xampp\php, habilitar la extensión zip en el archivo php.ini de PHP si es necesario para habilitar la instalación de los paquetes de composer. Buscar ;extension=zip y cambiarlo por extension=zip
  • Descargar e instalar Composer (2.5.8)
  • Descargar e instalar Node.js (18.16.1)
  • Instalar pnpm utilizando el comando npm install pnpm@latest -g

Pasos de instalación del proyecto

  1. Clonar el repositorio de GitHub.
gh repo clone Yizack/prueba-intermedio-tareas
  1. Cambiar de directorio
cd prueba-intermedio-tareas
  1. Para instalar paquetes de composer del proyecto ejecutar
composer install
  1. Comando para instalar paquetes npm utilizando pnpm
pnpm install

Pasos para ejecutar el proyecto

Para la ejecución del proyecto se necesitará realizar los siguientes pasos.

  1. IMPORTANTE: Renombrar el archivo .env.example a .env para hacer uso de las variables de entorno.

  2. Iniciar Apache y MySQL por ejemplo en XAMPP

xampp

  1. Abrir una consola en el directorio del proyecto y ejecutar el siguiente comando para realizar la migración de la base de datos
php artisan migrate
  1. Generar una clave de aplicación
php artisan key:generate
  1. Ejecutar la build de Vue con Vite
pnpm build
  1. Para iniciar el servidor, ejecutar
php artisan serve
  1. Acceder a la dirección http://localhost:8000 en el navegador.

  2. Pantalla inicial si todo se ha ejecutado correctamente.

captura-start

REST API

Endpoints

Puntos finales de la API

Endpoint Método Descripción
/api/tareas GET Obtener todas las tareas
/api/tareas POST Crear tarea
/api/tareas/:id PUT Modificar tarea
/api/tareas/:id DELETE Eliminar tarea
/api/tareas/:id PATCH Completar tarea

Propiedades

La API web devuelve todos los datos de respuesta como un objeto JSON. A continuación se muestran tablas con la descripción de todas las propiedades.

Propiedad Tipo Descripción
id integer Identificador de la tarea
nombre string Nombre de la tarea
completado boolean Completación de la tarea
created_at timestamp Fecha y tiempo de creación
updated_at timestamp Fecha y tiempo de modificación

Ejemplo

Captura del funcionamiento

captura

Información adicional (Base de datos)

Laravel

El framework de Laravel nos permite crear migraciones de nuestra estructura de base de datos fácilmente utilizando el directorio database/migrations con código PHP. Por ejemplo, ver el archivo tareas_table.php

Igualmente también nos facilita la creación de rutas de nuestra api utilizando el directorio routes y el archivo api.php, a estas rutas podemos asignarles funciones de un controlador para obtener las tareas y realizar las modificaciones de nuestra base de datos.

El archivo del controlador de tareas donde se encuentran las acciones está localizado en app/Http/Controllers/TareaController.php

Instrucciones SQL

Para motivos de demostración de conocimiento también he creado un archivo con instrucciones para crear la tabla de la base de datos y los procedimientos de almacenado en caso de que no exista una opción de migración de base de datos como la que ofrece Laravel.

El archivo con las instrucciones se puede encontrar en db.sql

Desarrollo

Para realizar cambios en entorno de desarrollo

  1. Ejecutar el comando de entorno de desarrollo de Vite
pnpm dev
  1. En otra consola sin cerrar la consola anterior, ejectuar el servidor
php artisan serve

About

Proyecto para crear una lista de tareas con Laravel, MySQL y Vue 3.

Topics

Resources

Stars

Watchers

Forks