https://github.com/casmei/emcash-polygon
Teste técnico para a Emcash
https://github.com/casmei/emcash-polygon
api-rest company-test docker laravel php php-unit
Last synced: 10 months ago
JSON representation
Teste técnico para a Emcash
- Host: GitHub
- URL: https://github.com/casmei/emcash-polygon
- Owner: Casmei
- Created: 2023-07-14T03:30:18.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-04-24T03:17:34.000Z (about 2 years ago)
- Last Synced: 2025-07-14T20:09:35.393Z (12 months ago)
- Topics: api-rest, company-test, docker, laravel, php, php-unit
- Language: PHP
- Homepage:
- Size: 139 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# EmCash - Júnior Backend Test
Este é um teste para a vaga de desenvolvedor backend júnior na EmCash. A finalidade do teste é criar uma API para o cadastro de triângulos e retângulos, e obter a soma total da área de todos os polígonos cadastrados no sistema.
## Configuração do Projeto
Siga as instruções abaixo para configurar e executar o projeto em sua máquina.
### Pré-requisitos
- Git
- Docker (opcional)
- Composer
- PHP
### Instalação
```sh
# Clone o repositório
> git clone https://github.com/Casmei/emcash-polygon.git
# Acesse a pasta do projeto
> cd emcash-polygon
# Crie o arquivo de configuração das variáveis de ambiente (Linux)
> cp .env.example .env
# Crie o arquivo de configuração das variáveis de ambiente (Windows)
> copy .env.example .env
```
### Iniciando com Docker (😊 Happy path )
Se você tiver o Docker instalado em sua máquina, pode seguir estes passos:
```sh
# Construa os containers
> docker compose up --build
```
### Iniciando sem Docker
Se você não tiver o Docker instalado, siga estes passos:
```sh
# Instale as dependências do projeto com o Composer
> composer install
# Gere a chave de segurança requisitada pelo Laravel
> php artisan key:generate
# Execute as migrações do banco de dados ( Valide nas envs as credenciais de conexão com o banco caso dê erro )
> php artisan migrate
# Inicie o sistema
> php artisan serve
```
### Documentação
A documentação do projeto é feita utilizando o Swagger. Para acessar a documentação, basta abrir o seguinte URL no seu navegador:
http://127.0.0.1:8000/api/documentation
## Rotas
| Verbo Http |Rota |Parâmetros |
|----------------|-------------------------------|-----------|
|POST|`api/triangles`| base, side1, side2 |
||
|POST|`api/rectangles`| base, height |
||
|GET|`api/total-area`|
## Testes
Para executar os testes de integração e unitários, utilize o seguinte comando:
### Com Docker
```sh
# Entre no container da aplicação
> docker exec -itu 0 emcash-polygon-main-1 sh
# Execute os testes
> php artisan test
```
### Sem o Docker
```sh
# Execute os testes
> php artisan test
```