{"id":19009409,"url":"https://github.com/feltex/demo-webflux","last_synced_at":"2026-01-29T15:33:19.006Z","repository":{"id":243130678,"uuid":"811560176","full_name":"feltex/demo-webflux","owner":"feltex","description":"Criação de uma API CRUD para gerenciamento de alunos utilizando Spring Boot com WebFlux, Java 21, PostgreSQL e testes no Postman. A aplicação exemplifica como configurar o ambiente, conectar-se a um banco de dados PostgreSQL, implementar repositórios reativos e criar endpoints para operações de criação, leitura, atualização.","archived":false,"fork":false,"pushed_at":"2024-06-07T14:33:58.000Z","size":127,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-13T16:14:20.087Z","etag":null,"topics":["docker","docker-compose","java","java-21","lombok","postgresql","r2dbc","webflux"],"latest_commit_sha":null,"homepage":"https://www.youtube.com/feltexbr","language":"Java","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/feltex.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,"zenodo":null}},"created_at":"2024-06-06T20:48:56.000Z","updated_at":"2024-09-11T18:45:11.000Z","dependencies_parsed_at":"2024-06-06T22:22:20.552Z","dependency_job_id":"77b0b4ea-8cab-41b6-a7f5-ab203339b808","html_url":"https://github.com/feltex/demo-webflux","commit_stats":null,"previous_names":["feltex/demo-webflux"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/feltex/demo-webflux","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feltex%2Fdemo-webflux","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feltex%2Fdemo-webflux/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feltex%2Fdemo-webflux/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feltex%2Fdemo-webflux/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/feltex","download_url":"https://codeload.github.com/feltex/demo-webflux/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feltex%2Fdemo-webflux/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28880237,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-29T10:31:27.438Z","status":"ssl_error","status_checked_at":"2026-01-29T10:31:01.017Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["docker","docker-compose","java","java-21","lombok","postgresql","r2dbc","webflux"],"created_at":"2024-11-08T19:07:41.604Z","updated_at":"2026-01-29T15:33:18.988Z","avatar_url":"https://github.com/feltex.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# demo-webflux\n\nProgramação reativa com WebFlux e Spring-Boot.\n\nYoutbe video: https://youtu.be/q79JzoXHVBU\n\n\n![web-flux](webflux-demo.png)\n\n## Required\n\n- Java 21\n- Maven\n- Spring-Boot\n\n## Dependencies\n\n- webflux\n- r2dbc\n- postgresql\n- lombok\n\n\n\n\n## Aprenda um pouco sobre Programação Reativa  \n\nA programação reativa tem se tornado cada vez mais popular devido a várias vantagens que oferece no desenvolvimento de\nsoftware. Aqui estão algumas razões pelas quais você deve considerar o uso de programação reativa:\n\n1. **Responsividade**: A programação reativa permite a criação de sistemas altamente responsivos, capazes de reagir a\n   eventos de forma eficiente e em tempo real. Isso é particularmente útil em aplicações que exigem atualizações\n   contínuas, como interfaces de usuário interativas, jogos e sistemas de monitoramento.\n\n2. **Escalabilidade**: Sistemas reativos são mais fáceis de escalar horizontalmente, o que significa que você pode\n   adicionar mais recursos ao sistema (como mais servidores) para lidar com uma maior carga de trabalho. Isso é crucial\n   para aplicações que precisam suportar um grande número de usuários simultâneos.\n\n3. **Facilidade de Gerenciamento de Estados**: A programação reativa facilita o gerenciamento de estados em aplicações\n   complexas. Com fluxos de dados assíncronos, você pode tratar mudanças de estado de maneira declarativa, tornando o\n   código mais intuitivo e menos propenso a erros.\n\n4. **Tratamento Eficiente de Eventos Assíncronos**: Em ambientes onde há muitos eventos assíncronos (como cliques de\n   usuários, mensagens de rede, etc.), a programação reativa oferece uma maneira natural e eficiente de lidar com esses\n   eventos. Isso é feito através de construções como observáveis e fluxos de dados que propagam mudanças\n   automaticamente.\n\n5. **Código Mais Limpo e Manutenível**: Ao usar programação reativa, o código tende a ser mais conciso e expressivo, o\n   que melhora a legibilidade e a manutenção. Em vez de lidar com callbacks e estados mutáveis de maneira imperativa,\n   você define como os dados fluem através do sistema, o que pode reduzir significativamente a complexidade do código.\n\n6. **Integração com Tecnologias Modernas**: Muitas das tecnologias modernas e frameworks, como Angular, ReactJS e\n   bibliotecas como RxJS, são projetadas com paradigmas reativos em mente. Isso facilita a integração e o uso dessas\n   tecnologias no desenvolvimento de aplicações modernas.\n\n7. **Melhor Manuseio de Erros**: A programação reativa oferece mecanismos robustos para tratar erros e exceções de forma\n   elegante e eficiente, permitindo que você defina estratégias de recuperação e ações corretivas sem espalhar lógica de\n   tratamento de erros por todo o código.\n\n\n\n| **Característica**           | **Programação Reativa**                                                | **RestAPIs**                                    |\n|------------------------------|------------------------------------------------------------------------|-------------------------------------------------|\n| **Fluxo de Dados**           | Contínuo e assíncrono                                                  | Requisição-resposta (síncrono)                  |\n| **Comunicação**              | Bidirecional                                                           | Unidirecional                                   |\n| **Tratamento de Erros**      | Centralizado e propagado ao longo do fluxo de dados                   | Individual por requisição                       |\n| **Escalabilidade**           | Alta, com fácil distribuição de carga                                  | Depende da infraestrutura, pode ser limitada    |\n| **Complexidade**             | Maior complexidade inicial, mais eficiente em longo prazo              | Menor complexidade inicial, potencialmente menos eficiente em longo prazo |\n\n\n\n\nPor essas razões, a programação reativa é uma escolha poderosa para desenvolver sistemas modernos, escaláveis e\nresponsivos. Ela não só melhora a eficiência do desenvolvimento como também a qualidade do produto final.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffeltex%2Fdemo-webflux","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffeltex%2Fdemo-webflux","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffeltex%2Fdemo-webflux/lists"}