GithubHelp home page GithubHelp logo

test_lumen's Introduction

Prueba Lumen

Pequena prueba tecnica desarrollada con Lumen y Mysql

Puntos a considerar:

Para clonar el repositorio, se deben ejecutar los siguientes comandos:

_git clone https://github.com/edgar294/test_lumen.git_
cd test_lumen/
composer install

Para la correcta ejecucion de las actualizaciones se debe configurar adecuadamente las credenciales de la base de datos. Estas se configuran haciendo una copia el archivo .env.example o renombrandolo como .env y sobrecribiendo los valores adecuados en las variables DB_DATABASE, DB_USERNAME y DB_PASSWORD

Paso siguiente es ejecutar el comando php artisan migrate

Ejecutar en local:

Para ejecutar el proyecto, basta moverse al path del proyecto, a la carpeta public y desde alli ejecutar el siguiente comando:

cd /path/del/proyecto/public/
php -S localhost:2000

Esto desplegara un servidor en localhost en el puerto 2000 y se puede acceder desde http://localhost:2000

Endpoints agregados:

1.- "api/test/oposicion/{oposicionId}/tipo/{tipoId}/bloque/{bloqueId}"

Este endpoint sirve para consultar los test que tiene al menos 5 preguntas, filtrados a traves de:

- Oposicion: Indicar el ID de la Oposicion
- Tipo: Indicar el ID del tipo de prueba    
- Bloque: Indicar el ID del bloque de la prueba

Retorna todas las pruebas que tiene al menos 5 preguntas.

2.- "api/test/oposicion/{oposicionId}/tipo/{tipoId}/bloque/{bloqueId}/estado/{estado}"

Este endpoint sirve para consultar los test que tiene al menos 5 preguntas, filtrados a traves de:

- Oposicion: Indicar el ID de la Oposicion
- Tipo: Indicar el ID del tipo de prueba    
- Bloque: Indicar el ID del bloque de la prueba
- Estado: Estado que deben tener las preguntas en la prueba

Retorna todas las pruebas que tiene al menos 5 preguntas, cuyas preguntas cumplan el estado indicado.
Los estados posibles son:
-- Publicada
-- Expirada
-- Derogada
-- Obsoleta

CUalquier otro estado sera omitido

3.- "api/pregunta/{preguntaId}/actualizar/estado/{nuevoEstado}"

Este Endpoint sirve para cambiar el estado de una pregunta, recibe como parametros:

- preguntaId: El ID de la pregunta a cambiar el estado
- nuevoEstado: El nuevo estado que se le asignara a la pregunta

Es importante destacar que se cumplen las siguientes validaciones:

-- El ID de la pregunta sea valido y exista
-- El nuevo estado asignado sea un estado valido ('Publicada', 'Expirada', 'Derogada', 'Obsoleta')
-- El nuevo estado de la pregunta sea diferente al estado actual de la pregunta.

4.- "api/pregunta/{preguntaId}/historico"

Este endpoint sirve para consultar el historico de los cambios de estado que ha tenido una pregunta,
Recibe como parametros:

- preguntaId: El ID de la pregunta a consultar el historico de cambios.

test_lumen's People

Contributors

edmidev avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.