Proyecto de prueba para Prex.
Este proyecto se integra con la API de Giphy funcionando como intermediario y exponiendo al usuario una API personalizada.
Se utilizan diferentes conceptos y patrones de codigo para demostrar conocimientos.
- Laravel v10 framework base.
- Laravel Sail simplifica la ejecucion local de Docker.
- Laravel Sanctum para autenticacion con token.
Warning
Laravel Sanctum brinda autenticacion token de demostracion, no es remplazo de OAuth.
- Comando de consola para generar ambiente local de desarrollo.
- Eloquent ORM para interactuar con la base de datos.
- Controller para agrupar logica de manejo utilizando MVC.
- Middleware para interceptar y persistir toda peticion y respuesta.
- Form Request para encapsular logica de validacion.
- Versionamiento de API para facilitar manutención y flexibilidad.
- Listener y Subscriber para detectar y reaccionar a eventos del cliente HTTP.
- Servicio con su propio Service Provider y para encapsular interaccion Giphy.
- Enum para representar tipos de token.
- Tests para prevenir y descubrir errores.
- Git
- Docker
- MySQL
- PHP v8.2 en adelante
- Clonar el repositorio
git clone https://github.com/jonagoldman/laravel-api.git
- Navegar dentro de la nueva carpeta
cd laravel-api
- Requerir dependencias
composer update
- Crear archivo .env local
cp .env.example .env
- Correr contenedor desprendido
./vendor/bin/sail up -d
- Ejecutar comando de inicializacion
./vendor/bin/sail artisan setup:dev
La Colección POSTMAN proporciona los servicios y su descripcion. El manejo de tokens de autenticacion es automatizado.
Ejecutar tests utilizando el comando
./vendor/bin/sail artisan test