Skip to content

📗 Laravel api, tests, seeds, fixtures, ...

Notifications You must be signed in to change notification settings

pdr-tuche/Biblia

Folders and files

NameName
Last commit message
Last commit date

Latest commit

0764e7b · Jan 22, 2024

History

34 Commits
Jan 17, 2024
Jan 5, 2024
Jan 17, 2024
Jan 17, 2024
Jan 4, 2024
Jan 4, 2024
Jan 4, 2024
Jan 22, 2024
Jan 4, 2024
Jan 4, 2024
Jan 5, 2024
Jan 4, 2024
Jan 17, 2024
Jan 4, 2024
Jan 17, 2024
Jan 4, 2024
Jan 4, 2024
Jan 21, 2024
Jan 4, 2024
Jan 4, 2024
Jan 17, 2024
Jan 4, 2024
Jan 17, 2024
Jan 4, 2024

Repository files navigation

Biblia

📗 api rest em php utilizando laravel a fins de estudo

Este projeto foi criado para me ajudar a aprender o framework Laravel.

Nos códigos deste projeto voce irá encontrar muita anotação em forma de comentarios.

Aprendizados 🤓

Inicialmente, aprendi a criar uma API REST entendendo os conceitos dos padrões de projetos presentes no Laravel, consequentemente em paralelo, aprendi a utilizar algumas funções de CLI que o Laravel disponibiliza para deixar o desenvolvimento mais agil.

Após criação da API, dei uma pesquisada sobre as seeds, cujo propósito é popular o banco de dados. Entendi como criar e utiliza-las para fornecer dados iniciais, facilitando o desenvolvimento e os testes do sistema. Foi bastante desafiador cria-las por que tive que utilizar a API da biblia digital que possui uma limitacao de 20 requisições por hora. Para contornar esta limitação criei scripts utilizando python que salvam as respostas das requisições em pastas e utilizei uma VM da Google Cloud para hospedar e executar esse script a cada hora de forma automatizada. Assim, consegui obter dados para as seeds.

A implementação de autenticação de usuários e a proteção de rotas foram desafios que enfrentei com determinação. Ainda estou um pouco confuso em relação a isso principalmente por que existem varios tipos de autenticação e gostaria de entender mais como eles funcionam. Neste projeto apliquei autenticação com token jwt.

Os testes de API, por sua vez, se revelaram essenciais para assegurar a integridade do projeto. Aprendi a escrever e executar testes, garantindo que a aplicação funcionasse conforme o esperado em diversas situações.

Um desafio notável foi compreender a fundo o funcionamento do Laravel. Para superar essa barreira, recorri à documentação do framework, mas minha compreensão se aprofundou ainda mais ao analisar códigos de outros desenvolvedores no GitHub, StackOverflow e, principalmente, ao assistir a tutoriais no YouTube. Essa abordagem prática foi fundamental para assimilar os conceitos e aplicá-los de maneira eficaz no meu projeto.

Em resumo, o desenvolvimento do projeto não apenas ampliou meu conhecimento técnico, mas também aprimorou minhas habilidades de pesquisa e resolução de problemas, destacando a importância da abordagem prática na assimilação de novos conhecimentos.

Rodar Localmente 💻

Pré-requisitos:

  1. PHP 8.2
  2. Composer

passos:

  1. clonar repositório:
git clone https://github.com/pdr-tuche/Biblia.git
  1. dentro da pasta do repositório, instale as depedencias
composer install
  1. copie o conteúdo do arquivo .env.example em um arquivo .env

  2. configure o arquivo .env com as informações de conexao do seu banco de dados. (linha 11 a 16)

  3. crie uma nova chave para a aplicação

php artisan key:generate
  1. realize as migrações para o banco de dados
php artisan migrate
  • se quiser popular seu banco de dados execute:
php artisan migrate:fresh --seed
  1. rodar servidor
php artisan serve

Documentação da API 📄

A documentação foi criada no postman. Voce pode conferir no postman web, ou você pode importar o arquivo Biblia.postman_collection.json (esta na pasta .postman_export_file) no postman da sua maquina para ter acesso a documentação e as requisições.

demonstração:

demonstração

Comandos Úteis (CLI) 👾

iniciar servidor:

php artisan serve

criar migracoes:

php artisan make:model nome_do_modelo --migration

criar controller:

php artisan make:controller NomeController --api

listar rotas

php artisan route:list

criar seed

php artisan make:seeder

Rodando os testes 🧪

Para rodar os testes, rode o seguinte comando na pasta raiz

todos os testes

  php artisan test

apenas testes do endpoint de Testamento

  php artisan test tests/Feature/TestamentoRoutesTest.php

apenas testes do endpoint de Livro

  php artisan test tests/Feature/LivroRoutesTest.php

apenas testes do endpoint de Versiculo

  php artisan test tests/Feature/VersiculoRoutesTest.php

Coisas que me ajudaram

  1. 🎥 Desenvolvendo api rest laravel Clean Code

  2. 🎥 Desenvolvendo api rest laravel Code with Dary

  3. 🎥 Conteúdo de testes do Code Experts

  4. 📃 para criação das seeds utilizei a API da biblia digital

  5. 📄 criando serviços linux com systemd

About

📗 Laravel api, tests, seeds, fixtures, ...

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published