Skip to content

Este proyecto es una API implementada en Laravel para gestionar cursos, ediciones de cursos y empleados. Proporciona funcionalidades como autenticación, CRUD para cursos, empleados y ediciones, y consultas específicas para obtener información sobre los empleados y las ediciones.

Notifications You must be signed in to change notification settings

DDansAbelenda/sg-cursos-api

Repository files navigation

Sistema de Gestión de Cursos

Este proyecto es una API implementada en Laravel para gestionar cursos, ediciones de cursos y empleados. Proporciona funcionalidades como autenticación, CRUD para cursos, empleados y ediciones, y consultas específicas para obtener información sobre los empleados y las ediciones.

Requerimientos

  • PHP >= 7.4
  • Composer
  • Laravel >= 10
  • Base de datos compatible con Laravel (MySQL, PostgreSQL, SQLite, etc.)

Instalación

  1. Clona el repositorio:
git clone https://github.com/DDansAbelenda/sg-cursos-api.git
  1. Instala las dependencias del proyecto con Composer:
composer install
  1. Crear un archivo .env a partir de una copia de .env.example.

  2. Configurar las variables de entorno de la base datos, no hay ningún sistema gestor de base datos de preferencia, puede utilizar cualquiera de los disponibles. Ejemplo de una configuración para postgres sería:

DB_CONNECTION=pgsql
DB_HOST=127.0.0.1
DB_PORT=5432
DB_DATABASE=sg_cursos_api
DB_USERNAME=postgres
DB_PASSWORD=password
  1. Crear de forma manual la base de datos en el gestor seleccionado.

  2. Ejecuta las migraciones para crear la estructura de la base de datos:

php artisan migrate

Esto por lo general abre un servicio en http:localhost:8000 aunque debe verificar el que se muestra en consola

  1. Opcional: Si deseas poblar la base de datos con datos de prueba, ejecuta el seeder:
php artisan db:seed --class=DatabaseSeeder
  1. Necesario para el trabajo con el front: Configurar las siguientes variables de entorno al final del fichero:
SESSION_DRIVER=cookie
SESSION_DOMAIN=localhost
SANCTUM_STATEFUL_DOMAINS=localhost:8080

Además se debe sobreescribir la siguiente variable ubicada en la parte superior para evitar errores:

APP_KEY=base64:PAjRyROTHQ9EX2xv2uIG7olDegJ1qmevcptNFadJq3I=
  1. Para iniciar la aplicación utilizar el comando:
php artisan serve

Uso

Autenticación

  • Para iniciar sesión, haz una solicitud POST a /auth/login con las credenciales de inicio de sesión.
POST /api/auth/login
{
    "email": "[email protected]",
    "password": "password"
}
  • Para cerrar sesión, haz una solicitud GET a /auth/logout.
GET /api/auth/logout

CRUD

  • Cursos: CRUD completo disponible en /api/course.
  • Empleados: CRUD completo disponible en /api/employee.
  • Ediciones: CRUD completo disponible en /api/edition.

Consultas

  • Determinar si un empleado es profesor: Envía una solicitud GET a /api/isprofessor/{employee}.
  • Obtener todos los empleados profesores: Envía una solicitud GET a /api/professor.
  • Obtener todos los cursos de un empleado: Envía una solicitud GET a /api/employeeall/{employee}.

Documentación

Contribuciones

¡Las contribuciones son bienvenidas! Si deseas contribuir a este proyecto, por favor abre un problema o envía una solicitud de extracción.

Licencia

Este proyecto está bajo la Licencia MIT. Consulta el archivo MIT license. para obtener más detalles.

About

Este proyecto es una API implementada en Laravel para gestionar cursos, ediciones de cursos y empleados. Proporciona funcionalidades como autenticación, CRUD para cursos, empleados y ediciones, y consultas específicas para obtener información sobre los empleados y las ediciones.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages