{"id":47233352,"url":"https://github.com/evolvedbinary/bbl-validator","last_synced_at":"2026-03-13T21:10:54.931Z","repository":{"id":327978491,"uuid":"1112578624","full_name":"evolvedbinary/bbl-validator","owner":"evolvedbinary","description":"API and Validator for Broadband Labels","archived":false,"fork":false,"pushed_at":"2026-02-18T10:03:15.000Z","size":178,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-09T06:52:17.893Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/evolvedbinary.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-08T20:24:21.000Z","updated_at":"2026-01-30T13:18:37.000Z","dependencies_parsed_at":"2025-12-30T18:12:08.504Z","dependency_job_id":null,"html_url":"https://github.com/evolvedbinary/bbl-validator","commit_stats":null,"previous_names":["marmoure/bbl-validator","evolvedbinary/bbl-validator"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/evolvedbinary/bbl-validator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evolvedbinary%2Fbbl-validator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evolvedbinary%2Fbbl-validator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evolvedbinary%2Fbbl-validator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evolvedbinary%2Fbbl-validator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/evolvedbinary","download_url":"https://codeload.github.com/evolvedbinary/bbl-validator/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evolvedbinary%2Fbbl-validator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30475806,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-13T20:45:58.186Z","status":"ssl_error","status_checked_at":"2026-03-13T20:45:20.133Z","response_time":60,"last_error":"SSL_read: 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":[],"created_at":"2026-03-13T21:10:53.783Z","updated_at":"2026-03-13T21:10:54.922Z","avatar_url":"https://github.com/evolvedbinary.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Broadband Label file Validator Service\n\n[![Build Status](https://github.com/evolvedbinary/bbl-validator/actions/workflows/ci.yml/badge.svg)](https://github.com/evolvedbinary/bbl-validator/actions/workflows/ci.yml)\n[![Java 21](https://img.shields.io/badge/Java-21-blue?logo=openjdk\u0026logoColor=white)](https://adoptium.net/)\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n[![Maven Central](https://img.shields.io/maven-central/v/com.evolvedbinary.bblValidator/bbl-validator?color=blue\u0026style=flat-square)](https://central.sonatype.com/artifact/com.evolvedbinary.bblValidator/bbl-validator)\n\nThis project provides a solution for validating Broadband Label files against defined Schemas. Developed for [Comcast](https://www.comcast.com) by [Evolved Binary](https://www.evolvedbinary.com) for use with the [FCC Broadband Labels](https://www.fcc.gov/broadbandlabels) initiative, the system consists of a HTTP REST API and a user-friendly Web Application.\n\nThe core validation logic is built upon the Open Source [CSV Validator](https://github.com/digital-preservation/csv-validator) library, originally developed for [The National Archives](https://www.nationalarchives.gov.uk/).\n\n## Features\n\n* **HTTP REST API**: A robust API that exposes validation services to the internet.\n* **Web Application**: A simple HTML5 interface allowing users to upload files or provide URLs for validation.\n* **Multiple Input Methods**: Support for validating Broadband Label files via direct file upload or external URL retrieval.\n* **Schema Management**: dynamically lists and utilizes validation schemas stored in the configured directory.\n\n## Endpoints\nCheck the API documentation for more information https://app.swaggerhub.com/apis/evolvedbinary/bbl-validator-web-api/1.0.0#/schema/validateCsv.\n\n## Built With\n\n* [Java 21](https://openjdk.org/projects/jdk/21/) - Programming Language\n* [Micronaut 4](https://micronaut.io/) - A Web Application framework\n* [Apache Velocity](https://velocity.apache.org/) - Provides templating for the Web Pages\n* [Maven](https://maven.apache.org/) - Build System\n* [Docker](https://www.docker.com/) - Containerization\n\n\n# Getting Started\n\n## Prerequisites\n* Java 21\n* Maven 3.6+\n\n## Running the Application\n\n### Option 1: Running in Development Mode\n\nClone the repository and run the application directly using Maven:\n\n```bash\ngit clone https://github.com/evolvedbinary/bbl-validator.git\ncd bbl-validator\nmvn mn:run\n```\n\nThe application will start on http://localhost:8080.\n\n### Option 2: Building and Running the JAR\n\n#### Building the JAR\n\nBuild an executable JAR file with all dependencies included:\n\n```bash\ngit clone https://github.com/evolvedbinary/bbl-validator.git\ncd bbl-validator\nmvn clean package\n```\n\nThis will create an executable JAR file at `target/bbl-validator-1.0.0-SNAPSHOT.jar`.\n\n#### Running the JAR\n\nOnce built, you can run the application using:\n\n```bash\n# Change the server port\njava -Dmicronaut.server.port=9090 -jar target/bbl-validator-1.0.0-SNAPSHOT.jar\n\n# Specify a schema directory\njava -Dschema.directory=/path/to/schema -jar target/bbl-validator-1.0.0-SNAPSHOT.jar\n```\n\n### Option 3: Using Docker\n\n#### Pulling and Running a Pre-built Image\n\nPull the latest image from Docker Hub and run it:\n\n```bash\ndocker pull evolvedbinary/bbl-validator:1.0.0-SNAPSHOT\ndocker run -p 8080:8080 -v /path/to/schemas:/app/schemas:ro evolvedbinary/bbl-validator:1.0.0-SNAPSHOT\n```\n\n**Note:** Replace `/path/to/schemas` with the absolute path to your schemas directory on the host machine.\n\n#### Building the Docker Image (Optional)\n\nIf you want to build the Docker image locally:\n\n```bash\ngit clone https://github.com/evolvedbinary/bbl-validator.git\ncd bbl-validator\nmvn clean install\n```\n\nThis will:\n1. Build the application JAR\n2. Create a Docker image tagged as `evolvedbinary/bbl-validator:1.0.0-SNAPSHOT`\n\nThen run the locally built image:\n\n```bash\ndocker run -p 8080:8080 -v /path/to/schemas:/app/schemas:ro evolvedbinary/bbl-validator:1.0.0-SNAPSHOT\n```\n\n## Usage\n\n### Web Interface\nNavigate to http://localhost:8080/views/validate in your browser. You can:\n\n1. Select a Schema ID from the dropdown.\n\n2. Choose to validate via URL or Content.\n\n3. View the validation status and any error messages in the results table.\n\n### HTTP API\nYou can validate files programmatically using the API. Full documentation is available via:\n\nOnline: [SwaggerHub API Docs](https://app.swaggerhub.com/apis/evolvedbinary/bbl-validator-web-api/1.0.0#/schema/validateCsv)\n\nLocal Spec: The OpenAPI YAML file is available at `/static/openapi.yaml` on the running server.\n\n## Configuration\nThe application uses application.yml for configuration.\n\n* Server Port: Defaults to `8080`.\n* Schema Directory: Defaults to `schemas` relative to the working directory.\n \n## Contact and Support\nEvolved Binary Limited \n\nEmail: tech@evolvedbinary.com\n\nWeb: https://www.evolvedbinary.com","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevolvedbinary%2Fbbl-validator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fevolvedbinary%2Fbbl-validator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevolvedbinary%2Fbbl-validator/lists"}