https://github.com/themarcosramos/transfersapi
API RESTful que permita transferências entre usuários
https://github.com/themarcosramos/transfersapi
api-rest docker dokcer laravel mysql php phpunit
Last synced: 2 months ago
JSON representation
API RESTful que permita transferências entre usuários
- Host: GitHub
- URL: https://github.com/themarcosramos/transfersapi
- Owner: themarcosramos
- Created: 2025-04-04T13:44:57.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-07T13:48:32.000Z (about 1 year ago)
- Last Synced: 2025-04-07T14:39:19.873Z (about 1 year ago)
- Topics: api-rest, docker, dokcer, laravel, mysql, php, phpunit
- Language: PHP
- Homepage:
- Size: 1.87 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# TransfersAPI
API RESTful que permita transferências entre usuários
## Requisitos necessários
> [Docker](https://www.docker.com/)
>
> Um editor como o [Visual Studio Code (VSCode)](https://code.visualstudio.com/)
>
> Um cliente REST, como o [Postman](https://www.postman.com/), foi utilizado.
## Como baixar e executar o projeto
Siga os passos abaixo para configurar e executar o projeto localmente:
### 1. Clone o repositório
```bash
git clone https://github.com/themarcosramos/TransfersAPI
```
### 2. Acesse a pasta do projeto
```bash
cd TransfersAPI/
```
### 3. Suba os containers com Docker
```bash
docker-compose up -d --build
```
### 4. Verifique o estado dos containers
```bash
docker-compose ps
```
### 5. Configure os arquivos de ambiente
```bash
cp .env.example .env
cp .env.testing.example .env.testing
```
### 6. Acesse o container da aplicação
```bash
docker exec -it laravel-app bash
```
### 7. Instale as dependências PHP
```bash
composer install
```
### 8. Em um novo terminal, acesse o container do banco de dados
```bash
docker exec -it laravel-db mysql -uroot -proot
```
### 9. Verifique se os bancos de dados foram criados
No console MySQL, digite:
```sql
SHOW DATABASES;
```
Confirme se existem os bancos:
- `transferdb`
- `transferdb_testing`
Depois, saia do MySQL com:
```sql
exit;
```
### 10. Gere a chave da aplicação
De volta ao container da aplicação:
```bash
php artisan key:generate
```
### 11. Rode as migrations e seeders
```bash
php artisan migrate --seed
```
### 12. Instale o Passport
```bash
php artisan passport:install
```
### 13. Inicie o servidor Laravel
```bash
php artisan serve --host=0.0.0.0 --port=8000
```
> O servidor estará acessível em:
> - http://localhost:8000 (a partir do navegador da sua máquina)
> - http://0.0.0.0:8000 (internamente no container ou para testes em rede)
### 14. (Opcional) Limpe o cache de configuração e rode os testes
No container da aplicação:
```bash
php artisan config:clear
```
```bash
php artisan test --env=testing
```
---
## Lista de Testes Automatizados
### [Planejamento de testes](doc/tests/listaTestes.md)
### Screenshot dos teste


## Diagrama
### Arquitetura de software

##### [Arquitetura de software em xml](doc/xml/software_architectural_diagram.drawio.xml)
### Classe

##### [Classe em xml](doc/xml/ClassDiagram.drawio.xml)
### Fluxo de processo

##### [Fluxo de processoem xml](doc/xml/process_flow_diagram.drawio.xml)
### Banco de dados

## Pacotes do Laravel usados
### [Passport](https://laravel.com/docs/8.x/passport)
### [Permission](https://spatie.be/docs/laravel-permission/v4/prerequisites)
### [Auditing](http://www.laravel-auditing.com/)
## Setup do Postman para testes da API
### [Collection](doc/postman/TransfersAPI.postman_collection.json)
### [Environment](doc/postman/TransfersAPI.postman_environment.json)
## License
The [Laravel framework](https://laravel.com) is open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT).