{"id":19153488,"url":"https://github.com/alexandrecpedro/bbb22-votation-system","last_synced_at":"2026-04-12T13:04:04.364Z","repository":{"id":112108790,"uuid":"485125297","full_name":"alexandrecpedro/bbb22-votation-system","owner":"alexandrecpedro","description":"Online Votation System of Big Brother Brazil 22 (2022)","archived":false,"fork":false,"pushed_at":"2022-09-16T15:01:33.000Z","size":465,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-03T19:16:57.147Z","etag":null,"topics":["angular","docker","explorer","java","kafka","mongodb","offset","openapi","openapi3","robo3t","spring-boot","swagger","swagger-ui"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alexandrecpedro.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-04-24T19:51:31.000Z","updated_at":"2023-03-04T01:45:55.000Z","dependencies_parsed_at":null,"dependency_job_id":"a12faab7-ed3b-45fe-b126-c03a38e74ae2","html_url":"https://github.com/alexandrecpedro/bbb22-votation-system","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexandrecpedro%2Fbbb22-votation-system","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexandrecpedro%2Fbbb22-votation-system/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexandrecpedro%2Fbbb22-votation-system/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexandrecpedro%2Fbbb22-votation-system/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alexandrecpedro","download_url":"https://codeload.github.com/alexandrecpedro/bbb22-votation-system/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240236344,"owners_count":19769581,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["angular","docker","explorer","java","kafka","mongodb","offset","openapi","openapi3","robo3t","spring-boot","swagger","swagger-ui"],"created_at":"2024-11-09T08:23:16.101Z","updated_at":"2026-04-12T13:04:04.320Z","avatar_url":"https://github.com/alexandrecpedro.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align = \"center\"\u003e\n    \u003ch1\u003e Sistema de Votação Online do BBB 22 \u003c/h1\u003e\n\u003c/div\u003e\n\u003cbr\u003e\n\n\u003cdiv align = 'center' justify-content = 'space-around' \u003e\n   \u003cimg src= './project/logos/Avanade.png' alt = 'Avanade' \u003e\n   \u003cimg src= './project/logos/RedeGlobo.png' alt = 'Rede Globo' \u003e\n\u003c/div\u003e\n\n\u003ch3 align = \"center\"\u003e\n  Sistema de Votação Online do Big Brother Brasil 22 (2022)\n\u003c/h3\u003e\n\n\u003cp align=\"center\"\u003e\n \u003ca href=\"#objetivo\"\u003eObjetivo\u003c/a\u003e •\n \u003ca href=\"#tecnologias\"\u003eTecnologias\u003c/a\u003e •\n \u003ca href=\"#percurso\"\u003ePercurso\u003c/a\u003e \n\u003c/p\u003e\n\n\u003cbr\u003e\n\u003cbr\u003e\n\n\u003cdiv id=\"objetivo\"\u003e\n\u003ch2\u003e 💡 Objetivo \u003c/h2\u003e\nConstruir um sistema que permita ao usuário votar num participante indicado para eliminação (paredão) do reality show Big Brother Brasil 22 (BBB 22), por semana.\n\nE conseguir contar os votos totais (inclusive os feitos por robôs) e auditar os votos válidos (votos únicos por usuário), configurando uma porcentagem de votos válidos por candidato à eliminação.\n\nCada semana devemos auditar e configurar os 3 candidatos à eliminação para que o usuário possa escolher em qual participante remanescente do programa ele deseja votar.\n\nA cada semana, o participante que obtiver o maior percentual de votos é eliminado do programa.\n\n\u003c/div\u003e\n\u003cbr\u003e\n\u003cbr\u003e\n\n\u003cdiv id=\"tecnologias\"\u003e\n\u003ch2\u003e 🛠 Tecnologias \u003c/h2\u003e\nAs seguintes ferramentas foram usadas na construção do projeto:\u003cbr\u003e\u003cbr\u003e\n    \n|                                                     Tipo              | Ferramentas                                |                                 Referência                                   |\n| :---------------------------------------------------------------------------: | :--------------------------------------------------------------------------: | :--------------------------------------------------------------------------: |\n|                    Banco de Dados Não-Relacional       |   MONGODB     |              https://www.mongodb.com/try/download/community                     |\n|                           Robo 3T                                  |   ROBO 3T      |             https://robomongo.org/                                         |\n|      Framework Java Spring Boot - construção do Back-end       |    SPRING BOOT       |               https://start.spring.io/                                       |\n|      API Documentation Library for Spring Boot       |    OPENAPI 3       |              https://springdoc.org/                                       | \n|                           Framework Apache KAFKA                     | KAFKA   |              https://kafka.apache.org/        |    \n|                           View and managing objects a Apache KAFKA         |     OFFSET EXPLORER           |              https://kafkatool.com/         |    \n|                           Docker                                    |    DOCKER          |               https://hub.docker.com/                                            |      \n|              API RESTful using JSON - Swagger UI           |   SWAGGER     |               https://swagger.io/                                            |    \n|              Framework Angular - construção da API web           |  ANGULAR       |              https://angular.io/                                            |    \n\u003cbr\u003e\n\u003cdiv align = 'center'\u003e\n    \u003ch3\u003eBackend\u003c/h3\u003e\n    \u003cimg align='center' width =' 80px ' src=\"https://cdn.jsdelivr.net/gh/devicons/devicon/icons/mongodb/mongodb-original.svg\" /\u003e\n    \u003cimg align='center' width =' 80px ' src=\"./project/logos/robomongo-3T.png\" /\u003e\n    \u003cimg align='center' width =' 80px ' src=\"https://cdn.jsdelivr.net/gh/devicons/devicon/icons/spring/spring-original.svg\" /\u003e\n    \u003cimg align='center' width =' 250px ' src=\"./project/logos/openAPI3.png\" /\u003e\n    \u003cimg align='center' width =' 250px ' src=\"./project/logos/swagger_logo.svg\" /\u003e\n    \u003cbr\u003e\u003cbr\u003e\n    \u003ch3\u003eInfraestrutura\u003c/h3\u003e\n    \u003cimg align='center' width =' 80px ' src=\"https://cdn.jsdelivr.net/gh/devicons/devicon/icons/apachekafka/apachekafka-original.svg\" /\u003e\n    \u003cimg align='center' width =' 80px ' src=\"https://static.macupdate.com/products/53532/m/offset-explorer-logo.png?v=1633349540\" /\u003e\n    \u003cimg align='center' width =' 100px ' src=\"https://cdn.jsdelivr.net/gh/devicons/devicon/icons/docker/docker-original.svg\" /\u003e\n    \u003cbr\u003e\u003cbr\u003e\n    \u003ch3\u003eFrontend\u003c/h3\u003e\n    \u003cimg align='center' width =' 80px ' src=\"https://cdn.jsdelivr.net/gh/devicons/devicon/icons/angularjs/angularjs-original.svg\" /\u003e\n    \u003cbr\u003e\n\u003c/div\u003e\n\u003cbr\u003e\n\n\u003cdiv id=\"percurso\"\u003e\n\u003ch2\u003e 🔎 Percurso \u003c/h2\u003e\n\n\u003col\u003e\n    \u003cli\u003eParte 1 - Configurando/preparando ambiente (Infraestrutura)\n      \u003cul\u003e\n        \u003cli\u003eInstalar Apache Kafka, Robo 3T, IntelliJ, VS Code, Docker Desktop\u003c/li\u003e\n        \u003cli\u003eAbrir e logar o Docker Desktop\u003c/li\u003e\n        \u003cli\u003eAbrir o VS Code\u003c/li\u003e\n        \u003cli\u003eConfigurar uma pasta Docker, com as subpastas Kafka e MongoDB\u003c/li\u003e\n        \u003cli\u003eCriar os arquivos de configuração (docker-compose.yml) em cada subpasta criada\u003c/li\u003e\n        \u003c!-- Comando docker-compose up -d (o -d é para subir o servidor em 2º plano) --\u003e\n        \u003cli\u003eEntrar em cada subpasta criada e subir o serviço para o Docker (docker-compose up -d)\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cbr\u003e\n    \u003cli\u003eParte 2 - Modelando o projeto no DrawIO\u003c/li\u003e\n    \u003cbr\u003e\n    \u003cli\u003eParte 3 - Criando back-end com Java Spring Boot\n      \u003cul\u003e\n        \u003cli\u003eAbrir o Spring Initializr e configurar o Spring Boot\u003c/li\u003e\n        \u003cli\u003eGerar o arquivo Spring Boot e abrir no IntelliJ\u003c/li\u003e\n        \u003cli\u003eVerificar as dependências a serem usadas e configurar o Maven\u003c/li\u003e\n        \u003cli\u003eFazer arquivo de configuração de acesso ao MongoDB e ao servidor Apache Kafka\u003c/li\u003e\n        \u003cli\u003ePovoar mecanicamente o MongoDB com alguns participantes do BBB, incluindo o id (arquivo JSON)\u003c/li\u003e\n        \u003cli\u003eConstruir a API em Java Spring Boot - classes, objetos, datas e interfaces\u003c/li\u003e\n        \u003cli\u003eCriar a estrutura do microsserviço em Java Spring Boot - classes, objetos, datas e interfaces\u003c/li\u003e\n        \u003cli\u003eImportar o microsserviço na mesma pasta da API, no IntelliJ\u003c/li\u003e\n        \u003cli\u003eConstruir as classes, datas, objetos e interfaces para o microsserviço\u003c/li\u003e\n        \u003cli\u003eBuildar os arquivos principais da API e do microsserviço\u003c/li\u003e\n        \u003cli\u003eTestar as rotas no Postman\n        Rota POST \n        URL: http://localhost:8080/api/parametros/salvar\n        Aba BODY:\n        JSON =\n        {\n          \"chave\": \"config.votacao\",\n          \"valor\": \"3\"\n        }\n        \u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cbr\u003e\n    \u003cli\u003eParte 4 - Criando API web com Angular\n      \u003cul\u003e\n        \u003cli\u003eNovo projeto: ng new nomeProjeto \u003c/li\u003e\n        \u003cli\u003eIniciando projeto: ng server --open \u003c/li\u003e\n        \u003cli\u003eNovo componente: ng generate component nomeComponente \u003c/li\u003e\n        \u003cli\u003eCriar interface: src/app/model/participante.ts\u003c/li\u003e\n        \u003cli\u003eCriando rota: ng generate module app-routing --flat --module=app\u003c/li\u003e\n        \u003cli\u003eImportar HttpClientModule em app.module.ts [parte de imports]\u003c/li\u003e\n        \u003cli\u003eCriar serviço: src/app/service/RestService.ts\u003c/li\u003e\n        \u003cli\u003eAdd @CrossOrigin em ParticipanteController.java e VotacaoController.java\u003c/li\u003e\n        \u003cli\u003eImplementar as rotas\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cbr\u003e\n    \u003cli\u003eParte 5 - Integrando back-end/front-end e acessando dados\u003c/li\u003e  \n\u003c/ol\u003e\n\u003c/div\u003e\n\u003cbr\u003e\n\u003cbr\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexandrecpedro%2Fbbb22-votation-system","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falexandrecpedro%2Fbbb22-votation-system","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexandrecpedro%2Fbbb22-votation-system/lists"}