Projeto consiste na criação de uma api para uma cooperativa, onde teremos cadastros de pautas, abertura e fechamento de sessões de votação e sumarização de votação.
Este projeto foi feita na participação da avaliação técnica da empresa act digital.
-
[GET] consultar 1 pauta especifico, passar id por parametro na requisição: {url}/schedule/{id}
-
[POST] criar pauta: {url}/book/create
{
"content": "type string",
}
-
[GET] consultar 1 associado especifico, passar id por parametro na requisição: {url}/associate/{id}
-
[POST] criar Associado: {url}/associate/create
{
"name": "type string",
"email": "type string",
"cpf": "type string"
}
- [Put] {url}/associate/vote
{
// Id da sessão
"sessionId": "type number",
// Id do associado
"associateId": "type number",
// Sim ou Não
"vote": "type string"
}
- [Get] Integração com sistemas externos: {url}/associate?cpf=
-
[GET] consultar 1 sessão especifica, passar id por parametro na requisição: {url}/session/{id}
-
[POST] Abrir e fechar sessão: {url}/session/{id}
{
// Pode ser nulo
"minutes": "type number",
// Id da pauta
"scheduleId": "type number"
}
- [GET] Contagem de votos: {url}/count-votes/{sessionId}
- Observação: Não foi feito deploy do projeto como proposto, pois as ferramentas que encontrei são pagas.
-
Para clonar o projeto: git clone https://github.com/TaylanTorres09/cooperativism-api.git
-
Para Executar o projeto precisasse:
-
Extensões do vscode utilizadas:
-
Para seleção do perfil test para perfil de teste e dev para perfil de desenvolvimento.
- Configuração do banco de dados de Teste.
- Configuração do banco de dados de Dev.
- Na pasta src/main, execute o arquivo CooperativismApplication.java
- Para testar a api você pode utilizar ferramentas de client como:
- Postman
- Insomnia
- Extensão do VsCode Thunder Client
- Ou outra de sua preferência.
- Fazer interfaces no front-end.
- Implementar Cobertura de testes.