Go to file
Manuel Aranda Rosales dc12acd29e refs #427. New endpoints created organizational-units 2024-06-05 15:32:46 +02:00
bin refs #377. Creacion de test funcionales para API User 2024-05-27 11:05:03 +02:00
config refs #427. New endpoints created organizational-units 2024-06-05 15:32:46 +02:00
docker refs #375. Crear modelo de base de datos de Usuario 2024-05-23 15:53:40 +02:00
migrations refs #423. Create new datatables organizational_unit 2024-06-05 15:31:49 +02:00
public Add initial set of files 2024-05-16 09:48:47 +02:00
src refs #427. New endpoints created organizational-units 2024-06-05 15:32:46 +02:00
swagger-assets refs #380. Modify Readme.md 2024-05-29 12:07:09 +02:00
templates First commit new symfony project OgCore 2024-05-16 15:23:44 +02:00
tests refs #379. Security user, userGroups endpoints 2024-05-30 12:45:33 +02:00
.env refs #381 Crear UserInterface y configurar el security.yaml 2024-05-20 10:51:46 +02:00
.env.test refs #377. Creacion de test funcionales para API User 2024-05-27 11:05:03 +02:00
.gitignore refs #377. Creacion de test funcionales para API User 2024-05-27 11:05:03 +02:00
README.md refs #379. Fixed error UserInput create 2024-05-29 21:48:54 +02:00
compose.override.yaml First commit new symfony project OgCore 2024-05-16 15:23:44 +02:00
composer.json refs #377. Creacion de test funcionales para API User 2024-05-27 11:05:03 +02:00
composer.lock refs #377. Creacion de test funcionales para API User 2024-05-27 11:05:03 +02:00
docker-compose.yaml refs #381 Crear UserInterface y configurar el security.yaml 2024-05-20 10:51:46 +02:00
phpunit.xml.dist refs #377. Creacion de test funcionales para API User 2024-05-27 11:05:03 +02:00
symfony.lock refs #377. Creacion de test funcionales para API User 2024-05-27 11:05:03 +02:00

README.md

ogCore project

Descripción

ogCore es el servicio central de OpenGnsys, diseñado para proporcionar funcionalidades a través de una API RESTful. Esta herramienta utiliza tecnología PHP, aprovechando el framework Symfony y el ORM Doctrine para gestionar la base de datos. A continuación, se detallan los pasos necesarios para desplegar el proyecto en un entorno de desarrollo.

Versiones y tecnologías utilizadas

  • PHP 8.3
  • Symfony 6.4
  • Doctrine 2.19
  • API Platform 3.2
  • MariaDB 10.11

Requisitos

Antes de comenzar, asegúrate de tener los siguientes requisitos:

  • Docker
  • Docker compose

Instalación

Desplegar contenedores

Para que no haya conflictos entre los puertos, asegúrate de que no tienes ningún servicio corriendo en los puertos 8080 y 3306.

docker compose up --build -d

Comprobamos que se han levantado correctamente bien los 3 contenedores de la aplicación:

docker ps

Y deberiamos ver algo parecido a :

  • ogcore-nginx
  • ogcore-php
  • ogcore-database

Instalamos dependencias

docker exec ogcore-php composer install
docker exec ogcore-php php bin/console lexik:jwt:generate-keypair --overwrite

Comprobamos, que el contenedor de Nginx, tiene el puerto 8080 levantado correctamente, asi que tan solo tendremos que acceder a la siguiente URL:

http://127.0.0.1:8080/docs

Si todo ha ido bien, deberiamos ver la documentación de la API de ogCore.

Para poder actualizar la base de datos:

Para inicializar la base de datos:

docker exec ogcore-php php bin/console doctrine:migrations:migrate --no-interaction
docker exec ogcore-php php bin/console doctrine:fixtures:load --no-interaction
docker exec ogcore-php php bin/console app:load-default-user-groups

UX Api Platform

Api Platform proporciona una interfaz de usuario para interactuar con la API de ogCore. Para acceder a la interfaz de usuario, accede a la siguiente URL:

http://127.0.0.1:8080/docs

Para poder autenticarte, necesitas un token JWT. Para obtenerlo, accedemos al endpoint de autenticación "auth/login":

img.png img.png Obtenemos el token y lo introducimos en la interfaz de usuario de Api Platform de la siguiente manera:

img.png

Ahora, ya podemos interactuar con la API de ogCore. Para comprobar que todo está correcto, podemos fijarnos en los headers de las llamadas Curl, y ver que el token JWT se ha introducido correctamente.

Test

Para ejecutar los test, ejecutamos el siguiente comando:

docker compose exec php bin/phpunit    

Reiniciar base de datos

Es posible que en momentos de desarrollo, sea necesario volver a cargar la base de datos y actualizar los esquemas de la misma, para ello, ejecutamos el siguiente comando:

docker exec ogcore-php php bin/console doctrine:database:drop --force
docker exec ogcore-php php bin/console doctrine:database:create