Este proyecto es una aplicación web CRUD desarrollada en PHP 8, con arquitectura por capas y principios SOLID, que consume una API externa, almacena los resultados en base de datos y permite mejorar los registros categorizados como bad hasta convertirlos en medium o good.
Incluye:
/proyecto-api-crud/ ├── config/ │ └── database.php # Configuración de conexión a la BD (usa .env) ├── src/ │ ├── Controllers/ # Controladores que reciben y responden las peticiones HTTP │ ├── Services/ # Lógica de negocio (API externa, mejoras, etc.) │ ├── Repositories/ # Acceso a la base de datos │ ├── Models/ # Representación de las entidades (ApiResult) │ ├── DTOs/ # Objetos de transferencia de datos (ApiResponseDTO) │ └── Exceptions/ # Manejo de errores personalizados ├── public/ │ ├── index.php # Punto de entrada de la aplicación y ruteo básico │ ├── index.html # Interfaz web principal │ ├── app.js # Lógica frontend (fetch API interna, eventos) │ └── styles.css # Estilos de la interfaz ├── scripts/ │ └── initialize_db.php # Script para crear base de datos y tablas ├── vendor/ # Dependencias instaladas con Composer ├── .env # Variables de entorno (no subir a git) ├── composer.json # Configuración de dependencias
Backend: PHP 8 + PDO + Composer Frontend: HTML, CSS, JavaScript puro Dependencias: guzzlehttp/guzzle: cliente HTTP para consumir API externa. vlucas/phpdotenv: manejo de variables de entorno.
PHP 8.0+ MySQL Composer Servidor web XAMPP para entorno local (incluye Apache, PHP y MySQL)