Este é um guia de configuração para um projeto Laravel usando Docker e Autenticação JWT. O projeto utiliza um ambiente Dockerizado para facilitar a configuração e execução.
Clone o repositório:
git clone https://github.com/selogerkkk/desafioBackend.git
Copie o arquivo de ambiente:
cp .env.example .env
Instale as dependências do Laravel com o Composer:
composer install
Gere a chave de aplicação:
php artisan key:generate
Gere a chave JWT:
php artisan jwt:secret -f
Construa os contêineres Docker:
./vendor/bin/sail build
# ou
sail build
Execute os contêineres Docker:
./vendor/bin/sail up
# ou
sail up
Rode as migrações para configurar o banco de dados:
sail artisan migrate:fresh
Se encontrar o erro "Failed to open stream: Permission denied", execute:
chmod -R guo+w storage
A documentação da API é feita usando o Swagger. Para visualizar a documentação usando a SwaggerUI, acesse Swagger Documentation.
Um usuário de teste foi criado para fins de teste. As informações do usuário são as seguintes:
- Email:
admin@admin.com
- Senha:
admin123
- Método:
GET
- Rota:
/tools
- Descrição: Retorna a lista de todas as ferramentas cadastradas.
- Método:
GET
- Rota:
/tools?tag=node
- Descrição: Retorna as ferramentas filtradas pela tag especificada.
-
Método:
POST
-
Rota:
/tools
-
Descrição: Adiciona uma nova ferramenta ao repositório. O corpo da requisição deve conter as informações da ferramenta.
Exemplo de corpo da requisição:
{ "title": "hotel", "link": "https://github.com/typicode/hotel", "description": "Local app manager...", "tags":["node", "organizing", "webapps", "domain", "developer", "https", "proxy"] }
- Método:
POST
- Rota:
/tools/:id
- Descrição: Remove a ferramenta com o ID especificado.