123Milhas API

Para executar o projeto é necessário ter o docker instalado.

Faça o download do projeto a partir do repositório no github:

git clone https://github.com/leoalmar/123milhas.git

Entre no diretório do projeto:

cd 123milhas

Crie o arquivo .env a partir do arquivo .env.example:

# linux and macOS
cp .env.example .env

# windows
copy .env.example .env

Com o docker em execução, rode o comando abaixo para provisionar o ambiente:

docker-compose up -d

Após o ambiente ser provisionado, execute o comando abaixo para preparar a aplicação:

docker-compose exec php composer install

Execute o comando abaixo para gerar a documentação do Swagger:

docker-compose exec php php artisan swagger-lume:generate

Para acessar a documentação da API, clique no link abaixo: http://localhost:8180/api/documentation

Para visualizar o resultado acesse o seguinte link: http://localhost:8180/v1/groups

O resultado será parecido com o json abaixo:

{
    "totalFlights": 15,
    "totalGroups": 10,
    "cheapestPrice": 200,
    "cheapestGroup": "451153ae407916549842f56f8f2a41c8755975ec",
    "groups": [
        {
            "uniqueId": "451153ae407916549842f56f8f2a41c8755975ec",
            "totalPrice": 200,
            "outbound": [1,2,3],
            "inbound": [9,10]
        }
    ],
    "flights": [
        {
            "id": 1,
            "cia": "GOL",
            "fare": "1AF",
            "flightNumber": "G3-1701",
            "origin": "CNF",
            "destination": "BSB",
            "departureDate": "29/01/2021",
            "arrivalDate": "29/01/2021",
            "departureTime": "07:40",
            "arrivalTime": "09:00",
            "classService": 3,
            "price": 50,
            "tax": 36,
            "outbound": 1,
            "inbound": 0,
            "duration": "1:20"
        }
    ]
}