zssn
1.0.0
Desenvolvimento do ZSSN no Laravel 6.5 com o banco de dados PostGresql 10.
Primeiro de tudo, você precisa configurar o Composer e o PHP (7.2 ou mais) em seu ambiente.
Agora você precisa clonar este projeto para seu PC.
Após o clone, este projeto executa o compositor para instalar todas as dependências.
composer install
OK, vamos configurar agora o banco de dados, primeiro você precisa copiar .env.exemplo para .env Na raiz do projeto, Env.Exemplo é um exemplo de como você configura seu ambiente.
Com o banco de dados configurado, vamos criar nossa migrar e preenchê -lo ..
php artisan migrate
php artisan db:seed
Em seguida, execute php artisan serve , e estará disponível em http: // localhost: 8000/API
GET /survivors
Content-Type: "application/json"
200 Created
Content-Type: "application/json"
"data": [
{
"id": 2,
"name": "Gilberto Doyle",
"age": 47,
"gender": "Male",
"latitude": "18158.1727552",
"longitude": "261575.5293",
"infected": false,
"created_at": "2019-11-29 17:10:49",
"updated_at": "2019-11-29 17:10:49",
"reportsCount": 0
},
{
"id": 3,
"name": "Prof. Nico Yundt",
"age": 54,
"gender": "Female",
"latitude": "5.11093238",
"longitude": "48425886",
"infected": false,
"created_at": "2019-11-29 17:10:49",
"updated_at": "2019-11-29 17:10:49",
"reportsCount": 0
}
]
GET /:survivors/{id}
Content-Type: "application/json"
| Atributo | Descrição |
|---|---|
| eu ia | ID do sobrevivente |
200 Ok
Content-Type: "application/json"
{
"id": 1,
"name": "Miss Rhoda Abbott PhD",
"age": 55,
"gender": "Male",
"latitude": "116.4865271",
"longitude": "6211846.638",
"infected": false,
"created_at": "2019-11-29 17:10:49",
"updated_at": "2019-11-29 17:10:49",
"resources": [
{
"description": "Water",
"points": 4
},
{
"description": "Ammunition",
"points": 1
}
],
"reportsCount": 0
}
POST /survivors
Content-Type: "application/json"
{
"name": "Willardy Tyrone",
"age": 19,
"gender": "Male",
"latitude": "1522255.09052",
"longitude": "1336523.1439",
"infected": false
}
201 Created
Content-Type: "application/json"
{
"msg": "Survivor created at success"
}
| Atributo | Descrição |
|---|---|
| eu ia | ID do sobrevivente |
PUT /:survivors/{id}
Content-Type: "application/json"
201 Ok
Content-Type: "application/json"
{
"msg": "Survivor updated at success"
}
POST /:survivors/{survivorReport}/report_infection/{survivorReported}
Content-Type: "application/json"
| Atributo | Descrição |
|---|---|
| SurvivorReport | ID do sobrevivente |
| Sobrevivente reportado | ID do sobrevivente |
200 Ok
Content-Type: "application/json"
{
"msg": "Unconfirmed infection!"
}
200 Ok
Content-Type: "application/json"
{
"msg": "Survivor infected!"
}
400 Ok
Content-Type: "application/json"
{
"msg": "Report already created"
}
200 Ok
Content-Type: "application/json"
GET /reports/percentInfected
Content-Type: "application/json"
200 Ok
Content-Type: "application/json"
{
"msg": "37% of survivors are infected"
}
200 Ok
Content-Type: "application/json"
GET /reports/percentNonInfected
Content-Type: "application/json"
{
"msg": "37% of survivors are not infected"
}
200 Ok
Content-Type: "application/json"
GET /reports/averageAmount
Content-Type: "application/json"
"data": {
"Water": 0.2857142857142857,
"Food": 0.2857142857142857,
"Medication": 0.14285714285714285,
"Ammunition": 1.5714285714285714
}
200 Ok
Content-Type: "application/json"
GET /reports/pointsLost/{id}
Content-Type: "application/json"
200 Ok
Content-Type: "application/json"
{
"message": "Survivor not infected, not yet"
}
200 Ok
Content-Type: "application/json"
{
"pointsLost": 4
}
200 Ok
Content-Type: "application/json"
PUT /traders/{survivorOften}/tradeItems/{survivorAceppt}
Content-Type: "application/json"
200 Ok
Content-Type: "application/json"
{
"erro": "Survivor are equals"
}
200 Ok
Content-Type: "application/json"
{
"msg": "Trade is done."
}
404 Ok
Content-Type: "application/json"
{
"erro": "Survivor not found"
}