{"id":28496218,"url":"https://github.com/gabryelboeira/spring_cloud_webflux","last_synced_at":"2026-04-05T21:05:01.254Z","repository":{"id":297875286,"uuid":"998159714","full_name":"GabryelBoeira/Spring_cloud_webflux","owner":"GabryelBoeira","description":"Projeto de estudo para implementação de webflux e o consumo de uma api webhook externa","archived":false,"fork":false,"pushed_at":"2025-06-29T00:00:51.000Z","size":16,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-06-29T01:19:19.479Z","etag":null,"topics":["docker-compose","functional-programming-in-java","java","lombok","maven","postgresql","spring-boot","spring-cloud","webflux-client","webhooks"],"latest_commit_sha":null,"homepage":"","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/GabryelBoeira.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":"2025-06-08T01:51:08.000Z","updated_at":"2025-06-29T00:45:33.000Z","dependencies_parsed_at":"2025-06-08T03:47:18.181Z","dependency_job_id":"df14f637-4ac8-4456-b683-f17aca4fb4fe","html_url":"https://github.com/GabryelBoeira/Spring_cloud_webflux","commit_stats":null,"previous_names":["gabryelboeira/spring_cloud_webflux"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/GabryelBoeira/Spring_cloud_webflux","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GabryelBoeira%2FSpring_cloud_webflux","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GabryelBoeira%2FSpring_cloud_webflux/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GabryelBoeira%2FSpring_cloud_webflux/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GabryelBoeira%2FSpring_cloud_webflux/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GabryelBoeira","download_url":"https://codeload.github.com/GabryelBoeira/Spring_cloud_webflux/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GabryelBoeira%2FSpring_cloud_webflux/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263165717,"owners_count":23423997,"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":["docker-compose","functional-programming-in-java","java","lombok","maven","postgresql","spring-boot","spring-cloud","webflux-client","webhooks"],"created_at":"2025-06-08T12:06:44.991Z","updated_at":"2025-12-30T22:43:38.758Z","avatar_url":"https://github.com/GabryelBoeira.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Webhook App\n\nA reactive webhook application built with Spring Boot that allows you to receive, process, and manage webhooks.\n\n## Description\n\nThis application provides a platform for handling webhooks in a reactive way, using Spring WebFlux and R2DBC for non-blocking database operations. It's designed to be scalable and efficient, making it suitable for high-throughput webhook processing.\n\n## Technologies\n\n- Java 21\n- Spring Boot 3.5.0\n- Spring WebFlux (Reactive Web)\n- Spring Data R2DBC (Reactive Database Connectivity)\n- PostgreSQL 15.5\n- Consul 1.18.0 (Service Discovery)\n- Spring Cloud LoadBalancer\n- Docker \u0026 Docker Compose\n\n## Prerequisites\n\n- Java 21 or higher\n- Maven 3.6 or higher\n- Docker and Docker Compose\n- Git\n\n## Setup and Installation\n\n### Clone the Repository\n\n```bash\ngit clone https://github.com/GabryelBoeira/Spring_cloud_webflux.git\ncd webhook-app\n```\n\n### Start the Infrastructure\n\nThe application requires PostgreSQL and Consul, which can be started using Docker Compose:\n\n```bash\ndocker-compose up -d\n```\n\nThis will start:\n- PostgreSQL on port 5432 with database name `webhookdb` (credentials: root/root)\n- Consul on port 8500 with UI accessible at http://localhost:8500\n\n### Build and Run the Application\n\n```bash\n./mvnw clean install\n./mvnw spring-boot:run\n```\n\n## Development\n\n### Database Configuration\n\nThe application is configured to connect to a PostgreSQL database. The default configuration is:\n\n- Database: webhookdb\n- Username: root\n- Password: root\n- Host: localhost\n- Port: 5432\n\nYou can modify these settings in the application.properties file or by setting environment variables.\n\n### Service Discovery\n\nThe application uses Consul for service discovery. The Consul UI is accessible at http://localhost:8500.\n\n### Building for Production\n\nTo build a production-ready JAR file:\n\n```bash\n./mvnw clean package\n```\n\nThe JAR file will be created in the `target` directory.\n\n## API Documentation\n\n*Note: API documentation will be added as the application evolves.*\n\n## Configuration Options\n\nThe application can be configured through the `application.properties` file or environment variables:\n\n- `spring.application.name`: The name of the application (default: \"webhook app\")\n- `spring.r2dbc.url`: The R2DBC URL for database connection\n- `spring.r2dbc.username`: Database username\n- `spring.r2dbc.password`: Database password\n- `spring.cloud.consul.host`: Consul host\n- `spring.cloud.consul.port`: Consul port\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## License\n\nThis project is licensed under the [MIT License](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgabryelboeira%2Fspring_cloud_webflux","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgabryelboeira%2Fspring_cloud_webflux","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgabryelboeira%2Fspring_cloud_webflux/lists"}