A Liven API é uma aplicação RESTful desenvolvida com o framework Laravel, que permite o cadastro e controle de usuários e seus endereços. A API implementa autenticação usando JWT (JSON Web Tokens) e oferece endpoints para criação, leitura, atualização e exclusão (CRUD) de usuários e endereços.
✔️ Autenticação JWT: Permite login seguro e gera tokens JWT para autenticação.
✔️ CRUD de Usuários: Criação, leitura, atualização e exclusão de contas de usuários.
✔️ CRUD de Endereços: Gerenciamento dos endereços associados aos usuários, incluindo filtragem por parâmetros específicos.
✔️ Documentação Swagger: Documentação detalhada da API usando Swagger, acessível via interface web.
- Laravel: Framework PHP para desenvolvimento web.
- darkaonline/l5-swagger: Pacote para integração do Swagger com Laravel, permitindo a geração de documentação da API.
- PHP-Open-Source-Saver/jwt-auth: Biblioteca para implementação de autenticação via JWT (JSON Web Tokens) no Laravel.
Antes de começar, certifique-se de ter os seguintes componentes instalados no seu ambiente:
- Composer (para gerenciar dependências PHP)
- PHP 8.1 ou superior
- XAMPP (opcional) - Ferramenta para gerenciar o MySQL. Alternativamente, você pode usar outras soluções como WAMP, Laragon ou configurar manualmente o MySQL.
- MySQL Workbench (opcional) - Ferramenta gráfica para administração do MySQL. Alternativamente, você pode usar o MySQL Shell ou qualquer outro cliente MySQL de sua preferência.
Clone o projeto para sua máquina local:
git clone https://github.com/lucasalvesa/liven-api.gitAcesse a pasta baixada:
cd liven-apiRenomeie o arquivo .env.example para .env
Edite o arquivo .env e configure as variáveis de ambiente relacionadas ao banco de dados (a partir da linha 11 do arquivo):
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=liven
DB_USERNAME=seu_usuario
DB_PASSWORD=sua_senha
Se estiver usando o XAMPP, abra-o e inicie o serviço MySQL. Se estiver usando outra solução, inicie o serviço de acordo com sua configuração.
Execute o Composer para instalar todas as dependências do projeto:
composer install
Execute o comando para gerar a chave secreta JWT:
php artisan jwt:secret
Execute as migrações para criar as tabelas no banco de dados:
php artisan migrate
Obs.: Se o banco de dados especificado no arquivo .env ainda não tiver sido criado, o Laravel oferecerá a opção de criá-lo automaticamente com o nome fornecido.
Execute o comando para gerar a chave da aplicação Laravel:
php artisan key:generate
Obs.: Caso pule esse passo, no momento em que iniciar o servidor uma tela no seu localhost será exibida com a mensagem Your app key is missing . Aqui você pode apenas clicar no botão contendo o texto GENERATE APP KEY e pronto.
Inicie o servidor local do Laravel:
php artisan serve
A aplicação estará disponível em http://localhost:8000 .
- Registrar: POST /api/register
- Login: POST /api/login
- Obter Usuário Logado: GET /api/user
- Atualizar Usuário: PUT /api/user
- Deletar Usuário: DELETE /api/user
- Listar Endereços: GET /api/addresses
- Parâmetros opcionais: country, city, state
- Obter Endereço por ID: GET /api/address/{id}
- Criar Endereço: POST /api/address
- Atualizar Endereço: PUT /api/address/{id}
- Deletar Endereço: DELETE /api/address/{id}
A documentação completa da API está disponível via Swagger. Após iniciar o servidor, acesse:
http://localhost:8000/api/documentation
O projeto inclui testes automatizados para garantir a qualidade do código. Para executar os testes, use:
php artisan test
A metodologia utilizada para contribuição prevê:
- Criação de branches no formato
descrição-do-que-esta-sendo-feito, sempre começando com um verbo no infinitivo. - Abertura de Pull Requests com um breve descritivo do que será introduzido. Casos de testes quando necessário.
- Commits respeitando a organização dos arquivos. Exemplos semânticos das mensagens adotadas:
"fix: Fix bug on onboarding screen"
"feat: Add new functionality to the datatable"
"chore: Change text"
"refactor: Improve code regarding loop repetition"
"revert: Remove deprecated piece of code"
