Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rodrigofontesdev/investidor10-api
Uma REST API para a aplicação de notícias criada para o teste técnico da Investidor10. Construída em Laravel.
https://github.com/rodrigofontesdev/investidor10-api
api-rest docker laravel php
Last synced: 18 days ago
JSON representation
Uma REST API para a aplicação de notícias criada para o teste técnico da Investidor10. Construída em Laravel.
- Host: GitHub
- URL: https://github.com/rodrigofontesdev/investidor10-api
- Owner: rodrigofontesdev
- License: mit
- Created: 2024-10-22T20:22:38.000Z (24 days ago)
- Default Branch: main
- Last Pushed: 2024-10-26T15:50:45.000Z (20 days ago)
- Last Synced: 2024-10-26T23:25:24.715Z (20 days ago)
- Topics: api-rest, docker, laravel, php
- Language: PHP
- Homepage:
- Size: 91.8 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 10News
Uma API Rest da aplicação de notícias [10News](https://github.com/rodrigofontesdev/investidor10), o projeto foi elaborado como solução para o teste técnico da **Investidor10**.
Neste repositório está localizado o back-end do projeto, como requisito do desafio foi utilizado o framework **Laravel**.
## Pré-requisitos
- Git
- Docker## Como iniciar
Clone o repositório em um novo diretório:
```sh
git clone [email protected]:rodrigofontesdev/investidor10-api.git
```Inicie o Docker container:
```sh
docker compose up -d
``````sh
docker container ls
```Abra um terminal `shell` do serviço `php-fpm`:
```sh
docker exec -it investidor10-api-php-fpm-1 sh
``````sh
composer install
```_Nota: `investidor10-api` é o nome da pasta do projeto._
Crie o arquivo `.env`:
```sh
cp .env.example .env
```Execute as migrations do banco de dados:
```sh
touch database/database.sqlite
``````sh
php artisan migrate --seed
```Para finalizar verifique se a aplicação subiu com sucesso, visite: [http://localhost/up](http://localhost/up).
## Funcionalidades
- [x] Retornar as notícias por categoria
- [x] Retornar todas as notícias
- [x] Retornar o contéudo da notícia
- [x] Paginação de resultados
- [x] Ordenação de resultados
- [x] Versionamento da API## Testes
Para executar os testes, digite o comando abaixo no terminal do serviço `php-fpm`:
```sh
php artisan test
```## Considerações
Para construção da API Rest, segui uma arquitetura para versionamento da API, imaginando um cenário onde o projeto continuasse crescendo.
Os endpoints foram desenvolvidos sob a metodologia TDD, essa abordagem permite a detecção precoce de bugs, a criação de código mais robusto e a manutenção da integridade da API mesmo diante de modificações.
Pensando no aperfeiçoamento do projeto, pode ser interessante integrar uma ferramenta de Logging e a criação de uma classe para ser responsável por criar novas instâncias de erros da API.
## Construído com
- Laravel 11.x
- Docker## Licença
Este projeto está licenciado sob a licença MIT - consulte o arquivo [LICENSE.md](LICENSE) para obter detalhes.