Skip to content

Commit

Permalink
feat: add validation schema (#124)
Browse files Browse the repository at this point in the history
  • Loading branch information
FabrizioCafolla authored Jan 26, 2024
1 parent 6bd9197 commit 4efb395
Show file tree
Hide file tree
Showing 9 changed files with 463 additions and 656 deletions.
217 changes: 8 additions & 209 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,8 @@ Projects entered must be maintained and have guidelines and/or documentation for

### awesome/opensource rules

Schema reference: [opensources.json](https://github.com/italia-opensource/awesome-italia-opensource/blob/main/scheme/opensources.json)

```JSON
{
"name": "Test",
Expand All @@ -61,138 +63,14 @@ Projects entered must be maintained and have guidelines and/or documentation for
}
```

- *Allowed Type of projects*
- app
- saas
- paas
- faas
- framework
- tool
- scripts
- package
- library
- community
- learning
- language

- *Allowed Repository Platform*
- github
- gitlab
- bitbucket

- *Allowed Licenses*
- Undefined
- 0BSD
- BSD-1-Clause
- BSD-2-Clause
- BSD-3-Clause
- AFL-3.0
- APL-1.0
- Apache-1.1
- Apache-2.0
- APSL-2.0
- Artistic-1.0
- Artistic-2.0
- AAL
- BSL-1.0
- BSD-3-Clause-LBNL
- BSD-2-Clause-Patent
- Creative Commons
- CERN Open Hardware Licence Version 2 - Permissive
- CERN Open Hardware Licence Version 2 - Weakly Reciprocal
- CERN Open Hardware Licence Version 2 - Strongly Reciprocal
- CECILL-2.1
- CDDL-1.0
- CPAL-1.0
- CPL-1.0
- CATOSL-1.1
- CAL-1.0
- Coopyleft
- CopyFair
- CSL
- EPL-1.0
- EPL-2.0
- eCos-2.0
- ECL-1.0
- ECL-2.0
- EFL-1.0
- EFL-2.0
- Entessa
- EUDatagrid
- EUPL-1.2
- FairSource
- Frameworx-1.0
- 0BSD
- AGPL-3.0
- GPL-2.0
- GPL-3.0
- LGPL-2.1
- LGPL-3.0
- HPND
- IPL-1.0
- IPA
- ISC
- Jam
- LPPL-1.3c
- BSD-3-Clause-LBNL
- LiLiQ-P
- LiLiQ-R
- LiLiQ-R+
- LPL-1.0
- LPL-1.02
- MS-PL
- MS-RL
- MirOS
- MIT
- MIT-0
- Motosoto
- MPL-1.0
- MPL-1.1
- MPL-2.0
- MulanPSL
- Multics
- NASA-1.3
- Naumen
- NGPL
- NPOSL-3.0
- NTP
- OCLC-2.0
- OGTSL
- OSL-1.0
- OSL-2.1
- OSL-3.0
- OLDAP-2.8
- QPL-1.0
- RPSL-1.0
- RPL-1.1
- RPL-1.5
- RSCPL
- OFL-1.1
- PPL
- SimPL-2.0
- Sleepycat
- SPL-1.0
- Watcom-1.0
- UPL
- NCSA
- Upstream Compatibility License v1.0
- Unicode Data Files and Software License
- Unlicense
- VSL-1.0
- W3C
- WXwindows
- Xnet
- 0BSD
- ZPL-2.0
- ZPL-2.1
- Zlib

#### Tags

The maximum number of tags is 20. This rule is necessary to avoid format problems with the MarkDown file.

### awesome/communities rules

Schema reference: [communities.json](https://github.com/italia-opensource/awesome-italia-opensource/blob/main/scheme/communities.json)

```JSON
{
"name": "Test",
Expand All @@ -210,36 +88,10 @@ The maximum number of tags is 20. This rule is necessary to avoid format problem
}
```

- *Allowed Type of communities*
- Blog
- Channel
- Newsletter
- Event
- Podcast

- *Allowed Platform of communities*
- Telegram
- Discord
- Slack
- Reddit
- Website
- Email

- *Allowed Events Type of communities*
- Telegram
- Discord
- Slack
- Reddit
- Website
- Email
- Location
- Youtube
- Twitch
- Other


### awesome/digital-nomads rules

Schema reference: [digital-nomads.json](https://github.com/italia-opensource/awesome-italia-opensource/blob/main/scheme/digital-nomads.json)

```JSON
{
"name": "Bansko",
Expand All @@ -256,37 +108,10 @@ The maximum number of tags is 20. This rule is necessary to avoid format problem
}
```

- *Allowed Move for 'how_to_arrive', 'how_to_move'*
- Airplane
- Ship
- Walk
- Car
- Bike
- Taxi
- Bus
- Train
- Tram
- Public transports
- Motorbike
- Ferry
- VAN
- Other

- *Allowed Documents for 'required_documents'*
- CI
- Passport
- Visa
- Other

- *Allowed item for 'internet_roaming'*
- Available
- Not required
- Local SIM required
- Not yet available


### awesome/companies rules

Schema reference: [companies.json](https://github.com/italia-opensource/awesome-italia-opensource/blob/main/scheme/companies.json)

```JSON
{
"name": "Test",
Expand All @@ -303,32 +128,6 @@ The maximum number of tags is 20. This rule is necessary to avoid format problem
}
```

- *Allowed Type of companies*
- B2B
- B2C
- C2C
- D2C
- Consulting
- Other

- *Allowed Market of companies*
- Food
- Aerospace
- Housing
- Health
- Automotive
- Fintech
- Energy
- AI
- Biotech
- Ecommerce
- Software
- Hardware
- Service
- Insurance
- Travel
- Other

## Development

### Online one-click setup for contributing
Expand Down
5 changes: 2 additions & 3 deletions awesome/opensource/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Awesome Open-Source | Italia Open-Source

<img src='https://img.shields.io/badge/list-77-green'> <img src='https://img.shields.io/github/last-commit/italia-opensource/awesome-italia-opensource/main'>
<img src='https://img.shields.io/badge/list-76-green'> <img src='https://img.shields.io/github/last-commit/italia-opensource/awesome-italia-opensource/main'>

Awesome Italia Open-Source is a list of open-source projects created by italian companies or developers.

Expand Down Expand Up @@ -54,7 +54,7 @@ Please read the [contribution guidelines](https://github.com/italia-opensource/a
| [Http Bee Request](https://italiaopensource.com/opensources/http-bee-request) | [<img align="right" src="https://img.shields.io/github/stars/DomeT99/beerequest?label=%E2%AD%90%EF%B8%8F&logo=github" alt="Stars"><br><img align="right" src="https://img.shields.io/github/issues-raw/DomeT99/beerequest" alt="Issues"><br><img align="right" src="https://img.shields.io/static/v1?label=license&message=MIT&color=orange" alt="License">](https://github.com/DomeT99/beerequest) | typescript, javascript, httprequest | A little tool to make web calling a breeze! |
| [Imagegonord](https://italiaopensource.com/opensources/imagegonord) | [<img align="right" src="https://img.shields.io/github/stars/Schrodinger-Hat/ImageGoNord?label=%E2%AD%90%EF%B8%8F&logo=github" alt="Stars"><br><img align="right" src="https://img.shields.io/github/issues-raw/Schrodinger-Hat/ImageGoNord" alt="Issues"><br><img align="right" src="https://img.shields.io/static/v1?label=license&message=MIT&color=orange" alt="License">](https://github.com/Schrodinger-Hat/ImageGoNord) | python, image-processing, vuejs, javascript, cli | |
| [Io App](https://italiaopensource.com/opensources/io-app) | [<img align="right" src="https://img.shields.io/github/stars/pagopa/io-app?label=%E2%AD%90%EF%B8%8F&logo=github" alt="Stars"><br><img align="right" src="https://img.shields.io/github/issues-raw/pagopa/io-app" alt="Issues"><br><img align="right" src="https://img.shields.io/static/v1?label=license&message=EUPL-1.2&color=orange" alt="License">](https://github.com/pagopa/io-app) | typescript, app, android, ios | |
| [Italiaremote](https://italiaopensource.com/opensources/italiaremote) | [<img align="right" src="https://img.shields.io/github/stars/italiaremote/awesome-italia-remote?label=%E2%AD%90%EF%B8%8F&logo=github" alt="Stars"><br><img align="right" src="https://img.shields.io/github/issues-raw/italiaremote/awesome-italia-remote" alt="Issues"><br><img align="right" src="https://img.shields.io/static/v1?label=license&message=Undefined&color=orange" alt="License">](https://github.com/italiaremote/awesome-italia-remote) | awesome, remote work | |
| [Italiaremote](https://italiaopensource.com/opensources/italiaremote) | [<img align="right" src="https://img.shields.io/github/stars/italiaremote/awesome-italia-remote?label=%E2%AD%90%EF%B8%8F&logo=github" alt="Stars"><br><img align="right" src="https://img.shields.io/github/issues-raw/italiaremote/awesome-italia-remote" alt="Issues"><br><img align="right" src="https://img.shields.io/static/v1?label=license&message=MIT&color=orange" alt="License">](https://github.com/italiaremote/awesome-italia-remote) | awesome, remote work | |
| [Job Offer Bot](https://italiaopensource.com/opensources/job-offer-bot) | [<img align="right" src="https://img.shields.io/github/stars/elgorditosalsero/job-offer-bot?label=%E2%AD%90%EF%B8%8F&logo=github" alt="Stars"><br><img align="right" src="https://img.shields.io/github/issues-raw/elgorditosalsero/job-offer-bot" alt="Issues"><br><img align="right" src="https://img.shields.io/static/v1?label=license&message=MIT&color=orange" alt="License">](https://github.com/elgorditosalsero/job-offer-bot) | bot, job, offer, telegram | |
| [Kafka Connect Elasticsearch Source](https://italiaopensource.com/opensources/kafka-connect-elasticsearch-source) | [<img align="right" src="https://img.shields.io/github/stars/DarioBalinzo/kafka-connect-elasticsearch-source?label=%E2%AD%90%EF%B8%8F&logo=github" alt="Stars"><br><img align="right" src="https://img.shields.io/github/issues-raw/DarioBalinzo/kafka-connect-elasticsearch-source" alt="Issues"><br><img align="right" src="https://img.shields.io/static/v1?label=license&message=Apache-2.0&color=orange" alt="License">](https://github.com/DarioBalinzo/kafka-connect-elasticsearch-source) | kafka, connect, elasticsearch, source | |
| [Kamaji](https://italiaopensource.com/opensources/kamaji) | [<img align="right" src="https://img.shields.io/github/stars/clastix/kamaji?label=%E2%AD%90%EF%B8%8F&logo=github" alt="Stars"><br><img align="right" src="https://img.shields.io/github/issues-raw/clastix/kamaji" alt="Issues"><br><img align="right" src="https://img.shields.io/static/v1?label=license&message=Apache-2.0&color=orange" alt="License">](https://github.com/clastix/kamaji) | kubernetes, multi-tenant, cluster, kubernetes-cluster, k8s, managed-kubernetes, multi-cluster, kubernetes-multitenancy, kubernetes-in-kubernetes, virtual-cluster | |
Expand All @@ -73,7 +73,6 @@ Please read the [contribution guidelines](https://github.com/italia-opensource/a
| [Moquette](https://italiaopensource.com/opensources/moquette) | [<img align="right" src="https://img.shields.io/github/stars/moquette-io/moquette?label=%E2%AD%90%EF%B8%8F&logo=github" alt="Stars"><br><img align="right" src="https://img.shields.io/github/issues-raw/moquette-io/moquette" alt="Issues"><br><img align="right" src="https://img.shields.io/static/v1?label=license&message=Apache-2.0&color=orange" alt="License">](https://github.com/moquette-io/moquette) | java, mqtt, broker, lightweight | |
| [Neulabs Cdk Constructs](https://italiaopensource.com/opensources/neulabs-cdk-constructs) | [<img align="right" src="https://img.shields.io/github/stars/neulabscom/neulabs-cdk-constructs?label=%E2%AD%90%EF%B8%8F&logo=github" alt="Stars"><br><img align="right" src="https://img.shields.io/github/issues-raw/neulabscom/neulabs-cdk-constructs" alt="Issues"><br><img align="right" src="https://img.shields.io/static/v1?label=license&message=Apache-2.0&color=orange" alt="License">](https://github.com/neulabscom/neulabs-cdk-constructs) | cdk, typescript, jsii, aws, constructs, stack, cloudformation, npm package | The neulabs-cdk-constructs library contains CDK-based constr [..] |
| [Neulabs Gh Actions Analytics](https://italiaopensource.com/opensources/neulabs-gh-actions-analytics) | [<img align="right" src="https://img.shields.io/github/stars/neulabscom/devops-gh-actions-analytics?label=%E2%AD%90%EF%B8%8F&logo=github" alt="Stars"><br><img align="right" src="https://img.shields.io/github/issues-raw/neulabscom/devops-gh-actions-analytics" alt="Issues"><br><img align="right" src="https://img.shields.io/static/v1?label=license&message=GPL-3.0&color=orange" alt="License">](https://github.com/neulabscom/devops-gh-actions-analytics) | github, finops, analytics, streamlit, python | This application allows you to view GitHub's 'Usage Report' [..] |
| [Notable](https://italiaopensource.com/opensources/notable) | [<img align="right" src="https://img.shields.io/github/stars/notable/notable?label=%E2%AD%90%EF%B8%8F&logo=github" alt="Stars"><br><img align="right" src="https://img.shields.io/github/issues-raw/notable/notable" alt="Issues"><br><img align="right" src="https://img.shields.io/static/v1?label=license&message=Undefined&color=orange" alt="License">](https://github.com/notable/notable) | typescript, software, markdown | The Markdown-based note-taking app |
| [Nuvolaris](https://italiaopensource.com/opensources/nuvolaris) | [<img align="right" src="https://img.shields.io/github/stars/nuvolaris/nuvolaris?label=%E2%AD%90%EF%B8%8F&logo=github" alt="Stars"><br><img align="right" src="https://img.shields.io/github/issues-raw/nuvolaris/nuvolaris" alt="Issues"><br><img align="right" src="https://img.shields.io/static/v1?label=license&message=Apache-2.0&color=orange" alt="License">](https://github.com/nuvolaris/nuvolaris) | go, python, serverless, startup | |
| [Associazione Odoo Italia](https://italiaopensource.com/opensources/associazione-odoo-italia) | [<img align="right" src="https://img.shields.io/github/stars/OCA/l10n-italy?label=%E2%AD%90%EF%B8%8F&logo=github" alt="Stars"><br><img align="right" src="https://img.shields.io/github/issues-raw/OCA/l10n-italy" alt="Issues"><br><img align="right" src="https://img.shields.io/static/v1?label=license&message=AGPL-3.0&color=orange" alt="License">](https://github.com/OCA/l10n-italy) | python, odoo | Addons concerning Odoo Italian Localization. |
| [Opengeodata](https://italiaopensource.com/opensources/opengeodata) | [<img align="right" src="https://img.shields.io/github/stars/MaxDragonheart/OpenGeoData?label=%E2%AD%90%EF%B8%8F&logo=github" alt="Stars"><br><img align="right" src="https://img.shields.io/github/issues-raw/MaxDragonheart/OpenGeoData" alt="Issues"><br><img align="right" src="https://img.shields.io/static/v1?label=license&message=GPL-3.0&color=orange" alt="License">](https://github.com/MaxDragonheart/OpenGeoData) | python, docker, django, gis | OpenSource project focused on sharing of geographic data to [..] |
Expand Down
2 changes: 1 addition & 1 deletion awesome/opensource/data/italiaremote.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"repository_url": "https://github.com/italiaremote/awesome-italia-remote",
"site_url": "https://italiaremote.com/companies",
"type": "community",
"license": "Undefined",
"license": "MIT",
"tags": [
"awesome", "remote work"
]
Expand Down
10 changes: 0 additions & 10 deletions awesome/opensource/data/notable.json

This file was deleted.

70 changes: 70 additions & 0 deletions scheme/communities.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"type": "object",
"properties": {
"name": {"type": "string"},
"url": {"type": "string", "format": "uri"},
"description": {"type": "string", "minLength": 5, "maxLength": 508},
"type": {"type": "string", "enum": [
"Blog",
"Channel",
"Newsletter",
"Event",
"Podcast"
]},
"platform": {"type": "string", "enum": [
"Telegram",
"Discord",
"Slack",
"Reddit",
"Website",
"Email",
"Location",
"Youtube",
"Twitch",
"Other"
]},
"tags": {
"type": "array",
"minItems": 1,
"maxItems": 20,
"uniqueItems": true,
"items": {
"type": "string",
"maxLength": 24
}
},
"events_type": {
"type": "array",
"minItems": 1,
"uniqueItems": true,
"items": {
"type": "string",
"enum": [
"Talk",
"Meetup",
"Webinar",
"Conference",
"Workshop",
"Hackathon",
"Chat",
"Article",
"Video",
"Audio",
"Other",
"Coworking trips",
"Podcast"
]
}
}
},
"required": [
"name",
"url",
"type",
"platform",
"tags",
"events_type"
],
"additionalProperties": false
}
Loading

0 comments on commit 4efb395

Please sign in to comment.