Skip to content

Instantly share code, notes, and snippets.

@fabiomb
Created July 29, 2025 03:07
Show Gist options
  • Select an option

  • Save fabiomb/cb358a9dfa7e9876870313bbe1491506 to your computer and use it in GitHub Desktop.

Select an option

Save fabiomb/cb358a9dfa7e9876870313bbe1491506 to your computer and use it in GitHub Desktop.

Fase 7 - API REST

Objetivo

  • Crear la API REST que permita consumir el contenido de ruletas y balas desde una aplicación

Tareas Específicas (SOLO ESTAS)

1. Crear endpoints

Carpeta: /api/

  • Deben ser creados en /api/
  • Las funciones deben crearse en /api/funciones.php
  • Un endpoint para obtener ruletas ordenado desde la última
  • Un endpoint para obtener balas de una ruleta
  • Un endpoint para obtener todas las balas con paginación
  • Por cada bala url de la imagen/enlace, url del thumbnail, fecha, id de ruleta a la que pertenece, tipo de archivo
  • Por cada ruleta título, número, fecha
  • Sólo enviar balas y ruletas cuyo estado se activo

2. Restricción con credenciales

Archivo: /api/funciones.php

  • La API REST debe requerir autenticación para poder ser utilizada
  • La autenticación tiene que ser compatible con aplicaciones React/Next.js o similares
  • Se deben tomar las credenciales desde una tabla mysql que las aloje

3. Crear sección de administración para habilitar credenciales

Archivo: /admin/api.php Template: /admin/templates/api.php

  • Desde el administrador se debe agregar una sección /admin/api.php para administrar credenciales
  • Se tiene que poder dar de alta, suspender y dar de baja

Resultado Esperado

  • Una API REST consumible
  • Generación de credenciales desde el administrador
  • Script de generación de la tabla MySQL donde se almacenan las credenciales
  • Funciones en /admin/funciones_api.php

Lo que NO hacer en Fase 7

  • ❌ No modificar las funciones existentes para balas, ruletas ni usaurios
  • ❌ No ejecutar scripts de testing
  • ❌ No borrar archivos existentes

Estructura de datos

  • La esctructura de datos y ejemplos estan en /docs/database_examples.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment