{"id":14066783,"url":"https://github.com/Appsilon/data.validator-shiny.fluent-report","last_synced_at":"2025-07-29T23:32:12.424Z","repository":{"id":48414965,"uuid":"365827806","full_name":"Appsilon/data.validator-shiny.fluent-report","owner":"Appsilon","description":"Proof of concept R/Shiny app built using shiny.fluent components. App built for RStudio Shiny Contest 2021","archived":false,"fork":false,"pushed_at":"2023-04-12T09:38:55.000Z","size":2145,"stargazers_count":10,"open_issues_count":1,"forks_count":2,"subscribers_count":18,"default_branch":"main","last_synced_at":"2025-06-05T13:48:07.592Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"R","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/Appsilon.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":"2021-05-09T19:04:03.000Z","updated_at":"2025-05-02T19:21:14.000Z","dependencies_parsed_at":"2024-08-13T07:11:30.266Z","dependency_job_id":"70eb64df-202e-4fd3-9768-f785d696442c","html_url":"https://github.com/Appsilon/data.validator-shiny.fluent-report","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Appsilon/data.validator-shiny.fluent-report","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Appsilon%2Fdata.validator-shiny.fluent-report","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Appsilon%2Fdata.validator-shiny.fluent-report/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Appsilon%2Fdata.validator-shiny.fluent-report/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Appsilon%2Fdata.validator-shiny.fluent-report/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Appsilon","download_url":"https://codeload.github.com/Appsilon/data.validator-shiny.fluent-report/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Appsilon%2Fdata.validator-shiny.fluent-report/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267780044,"owners_count":24143201,"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","status":"online","status_checked_at":"2025-07-29T02:00:12.549Z","response_time":2574,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":"2024-08-13T07:05:15.634Z","updated_at":"2025-07-29T23:32:09.858Z","avatar_url":"https://github.com/Appsilon.png","language":"R","funding_links":[],"categories":["R"],"sub_categories":[],"readme":"# Data.Validator Report\n\nThis repo contains Shiny app code which is a proof of concept for a data validation report\ngenerated from the [data.validator](https://github.com/Appsilon/data.validator) package.\nIt is also a test run of our [shiny.fluent](https://github.com/Appsilon/shiny.fluent) package,\nwhich allows for building Shiny apps with React.js components without the need for JS programming.\n\nYou can view the application here: https://pawelp.shinyapps.io/data-validator-report/\n\n![Data validation report](./images/app-recording.gif)\n\n## Story behind the app\n\nIn our projects, we perform rigorous data validation before we use data, especially when the data\nis updated periodically or can be uploaded by the user. Data almost always contains some errors,\nno matter the source. Most of these errors are related to the format, but often there are also\nquantitative requirements. But that's not all - additionally, there are very important expert\nrules which are often project specific. You can read about these rules in our\n[blogpost about data quality](https://appsilon.com/data-quality/) and how we saved\nsignificant money for our clients by adhering to them.\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"./images/data-quality-iceberg.png\" alt=\"Data Quality Levels\" width=\"400\"/\u003e\n\u003c/p\u003e\n\nAn important part of our validation is close collaboration with the client and project stakeholders.\nThere are often situations where the validation rule depends on expert knowledge or a specific\nbusiness decision. To make this collaboration efficient, we present validation results as a report\nand share them with the client. Thanks to the report, it is easier to inspect corrupted data and\ndiscuss potential root causes and solutions.\n\nI used [shiny.fluent](https://github.com/Appsilon/shiny.fluent) package to build a proof of concept that:\n\n* proves how easy it can be to use React.js components within Shiny\n* has a professional-looking UI thanks to\n  [Microsoft Fluent UI](https://developer.microsoft.com/en-us/fluentui) components\n\n**Note:** this POC app is a hypothetical report generated after running\n[data_validation.R](./data_validation.R) code.\n\n## About data.validator\n\nData.validator is similar to *testthat*, but designed for data validation. It is built on top\nof the awesome [assertr](https://github.com/ropensci/assertr) package, with a simplified API\nfor generating reports. The most common use case is to combine data.validator code with data\nprocessing scripts used in ETLs / pipelines / batch jobs.\n\nSee [the repo](https://github.com/Appsilon/data.validator) for more examples.\n\n**Note:** Current version which is released on CRAN (0.1.5) generates rmarkdown HTML report\nusing shiny.semantic. This POC shiny.fluent app is not integrated yet.\n\n## About shiny.fluent\n\nAt first glance it might seem like any other package with regular HTML components themed with\nCSS and JS. The difference is that shiny.fluent uses React.js components, which is a different\napproach. As a first library with React.js components ported to Shiny we drew on\n[Microsoft Fluent UI](https://developer.microsoft.com/en-us/fluentui).\n\nSee [the repo](https://github.com/Appsilon/shiny.fluent) for example apps built with shiny.fluent.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAppsilon%2Fdata.validator-shiny.fluent-report","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FAppsilon%2Fdata.validator-shiny.fluent-report","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAppsilon%2Fdata.validator-shiny.fluent-report/lists"}