Olá, sou estudante de programação e este é meu primeiro contato com API e também com Framework. Escolhi o Laravel 10 por ser a versão mais atual no momento dos meus estudos.
Esta é uma API Laravel para uma plataforma de troca de livros. A API permite que os usuários realizem várias operações relacionadas à troca de livros, como listar livros disponíveis, solicitar trocas e gerenciar suas próprias bibliotecas.
Neste caso, estou usando Windows 11 sem Docker
- Certifique-se de ter o PHP 8.2 (ou superior) instalado na sua máquina.
- Clone este repositório:
git clone https://github.com/andrepfdev/api-laravel10.git
- Instale as dependências do Composer:
composer install
- Configure o arquivo
.env
para usar banco de dados SQLite. Instruções abaixo. - Execute as migrações do banco de dados:
php artisan migrate
- Inicie o servidor de desenvolvimento:
php artisan serve
Link para Composer: https://getcomposer.org/download/
Para baixar e usar o SQLite3: https://www.sqlite.org/ Outra ferramenta útil usada no processo: https://sqlitestudio.pl/
No Windows a instalação do SQLite pode ser feita desta forma: https://www.alura.com.br/artigos/sqlite-da-instalacao-ate-primeira-tabela
No arquivo .env configure o banco de dados:
DB_CONNECTION=sqlite
Pode inclusive apagar as outras constantes do banco de dados. Fica a seu critério.
Caso não deseje usar SQLite como banco de dados, pode usar as configurações originais de .env.example
:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=
Caso acontece algum erro ao gerar o banco de dados, cetifique-se de instalar o pacote:
sudo apt install php-sqlite3
A API possui os seguintes endpoints principais:
Retorna uma lista com todos os usuários cadastrados.
Exemplo de resposta:
{
"data": [
{
"identify": 1,
"name": "Seu Jorge",
"email": "mrjorge@gmail.com",
"created": "09-07-2023 14:33:54"
}
]
}
Retorna uma lista de todos os livros disponíveis para troca.
Até o momento todos estão configurados para pesquisar pelo ID
Exemplo de resposta:
{
"data": [
{
"id": 1,
"title": "A Republica",
"author": "Platão",
"created_at": "09-07-2023 19:36:53",
"updated_at": "09-07-2023 19:36:53"
},
{
"id": 2,
"title": "Bíblia",
"author": "Espírito Santo",
"created_at": "09-07-2023 14:54:04",
"updated_at": "09-07-2023 19:36:53"
}
]
}
Se você quiser contribuir para este projeto, sinta-se à vontade para abrir uma issue ou enviar uma solicitação de pull.