Web service para o VotaApp.
-
Instalar as Dependências:
npm install
-
Para criar o banco:
npm run createdb
-
Rodar o servidor para testes:
npm test
-
Rodar o servidor para Produção:
npm start
Rota para a autenticação do eleitor.
/api/auth/
-
Tipo: POST
-
Recebe: JSON { username: username, password: password}
-
Retorna: {"auth":true, "votou": (0/1), "prefeito": candidato_info, "vereador": candidato_info }
-
Teste:
curl -d '{"username": "123412341234", "password": "spcsp2018"}' -H "Content-Type: application/json" -X POST http://localhost:8080/api/auth/
Rota para resgatar todos os candidatos cadastrados no banco de dados.
/api/candidatos/:type
-
Tipo: GET
-
Recebe: vereador ou prefeito como parâmetro de URL
-
Retorna: [ { nome: String, partido: String, foto: String, id: _id } ]
-
Teste:
curl http://localhost:8080/api/candidatos/vereador
Rota utilizada para cadastrar Prefeito, Vereador e Eleitor.
/api/add/:(vereador/prefeito/eleitor)
-
Tipo: POST
-
Recebe:
- Vereador/Prefeito: { nome: nome_candidato, partido: partido_candidato, foto: url_foto }
- Eleitor: { nome: nome_eleitor, titulo: titulo_eleitor, senha: senha_eleitor }
-
Retorna: { status: true/false}
-
Teste:
curl -d '{"nome": "Jon Doe", "titulo": "123112311231", "senha": "umasenhaforte"}' -H "Content-Type: application/json" -X POST http://localhost:8080/api/add/eleitor
Rota utilizada para efetuar a votação realizada pelo eleitor.
/api/votar/
-
Tipo: POST
-
Recebe: { eleitor: id_eleitor, vereador: _id_vereador, prefeito: _id_prefeito }
-
Retorna: { status: true/false}
-
Teste: curl -d '{"eleitor":"123412341234","vereador":"5bd278cbb6157a6312833c1b","prefeito":"5bd278cbb6157a6312833c0d"}' -H "Content-Type: application/json" -X POST http://localhost:8080/api/votar
-
Nome do Database
- vota_app
-
Collections
- vereadores
- prefeitos
- eleitores