Skip to content

API Escrita em PHP utilizando Laravel e implementando boas praticas

Notifications You must be signed in to change notification settings

Mateussj/laravel-api

Repository files navigation

Build Status Total Downloads Latest Stable Version License

License

The Laravel framework is open-sourced software licensed under the MIT license.

Para rodar este projeto

$ 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

Pré-requisitos

  • PHP >= 7.4
  • MySql

Artisan

  • 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=

Rotas

  • 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.

About

API Escrita em PHP utilizando Laravel e implementando boas praticas

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published