The Laravel framework is open-sourced software licensed under the MIT license.
$ git clone https://github.com/Mateussj/laravel-api.git
$ cd laravel-api
$ composer install
$ cp .env.example .env
$ php artisan key:generate
$ php artisan migrate #antes de rodar este comando verifique sua configuracao com banco em .env e a criação dos bancos necessarios
$ php artisan serve
$ php artisan db:seed #para gerar os seeders, dados de teste
Acesssar pela url: http://localhost:8000
- PHP >= 7.4
- MySql
- Executar o aplicativo Laravel:
$ php artisan
- Executar testes:
$ php artisan test
- Lembrando que para que os testes executem corretamente, preencha as configurações de testes no .env da aplicação nas seguintes chaves:
$ DB_CONNECTION_TESTE=
DB_HOST_TESTE=
DB_PORT_TESTE=
DB_DATABASE_TESTE=
DB_USERNAME_TESTE=
DB_PASSWORD_TESTE=
-
A aplicação conta com as seguintes rotas:
-
Crud de usuarios
GET - /api/users
GET - /api/users/{id}
POST - /api/users
PUT - /api/users/{id}
DELETE - /api/users/{id}
- Rota que retorna varias ou uma postagem apartir de uma api externa
GET - /api/posts
GET - /api/posts/{id}
- Rota que organiza um menu com uma função recursiva
GET - /api/matriz
- Rota que aciona uma tarefa que cria um quantidade massiva de usuarios com dados fake
GET - /api/fake
- Para que a rota anterior funcione corretamente temos que abrir um terminal a parte dentro da pasta da aplicação e deixa-lo executando o seguinte comando:
php artisan queue:work --timeout=10800
O comando em questão faz com que o laravel fique esperando algo ser colocado em fila de processamento e faz com que ele execute uma de cada vez melhorando a performance da aplicação. O argumento timeout foi utilizado pois na aplicação em questão trabalhamos com a criação de uma quantidade massiva de dados e isso pode demorar um pouco, então para que a aplicação não de tempo limite excedido na aplicação foi especificado 3 horas (10800 segundos) de duração maxima, mas não se preocupe, caso o laravel termine a tarefa antes ele não fica aguardando esse tempo para encerra-la.