O sistema Voting System é uma aplicação desenvolvida em Java utilizando Spring Boot. Ele permite a realização de votações, onde os votos são armazenados em um banco de dados MongoDB e processados por um sistema de mensageria Kafka. O Docker é utilizado para orquestrar os serviços necessários e garantir a comunicação entre eles.
- Cadastro de novas votações.
- Recebimento de votos para as votações.
- Armazenamento dos dados em MongoDB.
- Processamento assíncrono de votos utilizando Kafka.
- Gerenciamento de parâmetros do sistema através da classe ParameterSystem.
- Gerenciamento de participantes das votações através da classe Participant.
- Java 17
- Spring Boot
- spring-boot-starter-web
spring-kafka
spring-boot-starter-data-mongodb
spring-boot-starter-test
springdoc-openapi-starter-webmvc-ui
- Lombok
- Docker
- Kafka
- MongoDB
- Clone o repositório:
git clone https://github.com/seu-usuario/voting-system.git
cd voting-system
- Inicie os serviços com Docker Compose:
docker-compose up
- A aplicação estará disponível em:
http://localhost:8080
Este projeto depende de um projeto externo feito por min, onde as configurações do Kafka foram implementadas. Certifique-se de que este projeto esteja configurado e em execução para que a comunicação entre os serviços funcione corretamente.
- Projeto Kafka: LINK
Para executar os testes, utilize o seguinte comando:
mvn test
A documentação da API pode ser acessada via Swagger UI em:
http://localhost:8080/swagger-ui.html
Felipe Araujo |
---|
Contribuições são bem-vindas! Sinta-se à vontade para abrir issues e pull requests.
Este projeto está licenciado sob a MIT License.
Para mais informações, entre em contato pelo e-mail: felipecafsx@gmail.com