Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/lblod/frontend-validation-tool

Tool for validating/monitoring new publications
https://github.com/lblod/frontend-validation-tool

Last synced: 22 days ago
JSON representation

Tool for validating/monitoring new publications

Awesome Lists containing this project

README

        


project-logo



FRONTEND-VALIDATION-TOOL


last-commit
repo-top-language
repo-language-count


Table of Contents

- [Overview](#overview)
- [Features](#features)
- [Document Type Validation](#document-type-validation)
- [Validation Glue](#validation-glue)
- [Installation](#installation)
- [Usage](#usage)
- [CORS](#cors)
- [Testing](#testing)
- [Documentation](#documentation)


## Overview

A publication can have several requirements in order to make structural sense. These are the type of requirements that can be checked by this tool:

## Features

### Document Type Validation

Publications must meet structural requirements to ensure consistency and readability. The frontend supports validation for the following document types:

- Besluitenlijst
- Notule
- Agenda

In addition to specific document types, each publication is required to have a title, validated as a string to ensure it is present and correctly formatted. For "Notule" documents, there is an additional requirement to validate the maturity level, ensuring that these documents not only meet structural standards but also adhere to designated maturity criteria, adding a layer of depth to the validation process.

### Validation Glue

In order to properly validate an agenda item exists in a publication, we need to know the following:

- Agenda item
- title
- resolution
- vote
- decision
- Session
- time
- governing body

## Installation

From source

> 1. Clone the frontend-validation-tool repository:
>
> ```console
> $ git clone [email protected]:lblod/frontend-validation-tool.git
> ```
>
> 2. Change to the project directory:
>
> ```console
> $ cd frontend-validation-tool
> ```
>
> 3. Install the dependencies:
>
> ```console
> $ > npm install
> ```
> 3. Build the frontend:
>
> ```console
> $ > npm run build
> ```
> Note that you can define the environment by creating a `.ENV` file in the root and set `ENVIRONMENT=development` for development.

## Usage

> Run the application using the command below:
>
> ```console
> npm run dev
> ```

### CORS

Due to issues with CORS for publications published by vendors other than Gelinkt Notuleren changes needed to be made to the way the app proxies. We added a CORS-anywhere service in our stack to handle these request.

In our app we added a new path in the dispatcher. When this endpoint is called it will forward the url to the [cors service](https://github.com/lblod/simple-cors-service).

### Testing

> Run the test suite using the command below:
>
> ```console
> npm run test
> ```

## Documentation

Link to the full documentation [here](https://app.gitbook.com/o/-MP9Yduzf5xu7wIebqPG/s/o6NmI5BUsBB4lH0um5Q4/).

[**Return**](#overview)