2.9 KiB
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":
Obtenemos el token y lo introducimos en la interfaz de usuario de Api Platform de la siguiente manera:
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