Skip to content

Latest commit

 

History

History
174 lines (130 loc) · 4.92 KB

CONTRIBUTING.md

File metadata and controls

174 lines (130 loc) · 4.92 KB

Contributing to Awesome Italia Open Source

Code of Conduct

Please read the full text so that you can understand what actions will and will not be tolerated.

Join our Community

LinkedIn

Issues

We have three type of issues:

  1. Bug report
  2. Feature request
  3. Question

How To Contribute with PRs

Pull requests can be used to add/edit/delete in awesome/**/data dir.

The new project must be added to the awesome/{startups,opensource,communities,digital-nomads}/data folder using a dedicated file in kebab-case.json format. Subsequently, the README.md file is automatically generated, so you don't have to edit it manually. Projects entered must be maintained and have guidelines and/or documentation for use

  1. Open awesome/{startups,opensource,communities,digital-nomads}/data directory

  2. Add a new JSON file for the new project (file name should be a slugified version of the project name)

  3. File content should respect json rule

  4. (Optional) Before commit exec

    make deps
    source .activate
    make lint check-data
  5. if the tests are passed successfully create PR on GitHub, the title should be feat(type): added/updated Name WARNING type must be: startups, opensource, communities or digital-nomads)

ATTENTION do not modify any README.md file.

Json Rules

awesome/opensource rules

Schema reference: opensources.json

{
  "name": "Test",
  "repository_platform": "github",
  "repository_url": "https://www.github.com/test/name-of-repo",
  "site_url": "https://www.test.com", // no required
  "type": "tool",
  "description": "lorem ipsum", // no required
  "license": "GPL-3.0",
  "tags": [
    "python", "aws"
  ]
}

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

{
  "name": "Test",
  "url": "https://url",
  "type": "...",
  "platform": "...",
  "description": "lorem ipsum", // no required
  "tags": [
    "tech", "aws"
  ],
  "events_type": [
    "Meetup",
    "Hackathon"
  ]
}

awesome/digital-nomads rules

Schema reference: digital-nomads.json

{
  "name": "Bansko",
  "state_name": "Bulgaria",
  "required_documents": [ "Passport", "CI" ],
  "internet_roaming": "Available",
  "tags": [ "nature", "snow", "lake", "mountain"],
  "resources": [ "https://example.com/" ],
  "coworking": [ "https://exmaple.com/" ],
  "how_to_move": [ "Bike", "Walk", "Taxi" ],
  "daily_average_cost": 30, // no required
  "description": "lorem ipsum", // no required
  "how_to_arrive": [ "Airplane", "Bus", "Train" ],  // no required
}

awesome/startups rules

Schema reference: startups.json

{
  "name": "Test",
  "repository_organization_url": "https://www.github.com/test/name-of-repo", // no required
  "site_url": "https://www.test.com",
  "type": "B2B",
  "market": "Fintech",
  "description": "lorem ipsum",
  "tags": [
    "python", "aws"
  ],
  "foundation_year": "YYYY", // required data >= 2010
  "address": "Colosseum, Piazza del Colosseo, 1, 00184 Roma RM" // no required
}

Development

Online one-click setup for contributing

Reuirements Version
Python >= 3.10
Makefile

Setup local env:

git clone https://github.com/italia-opensource/awesome-italia-opensource.git

cd awesome-italia-opensource

make deps
source .activate

make test

Create Analytics:

# Set secrets from Doppler
doppler login
make setup
# Or set secrets manually (*)
echo "export TOKEN_GITHUB_PUBLIC_API=_YOUR_TOKEN_" > .env

source .activate

make test
make process-data

(*) Create GitHub PAT here:

  1. Add Repository access > Public Repositories (read-only)
  2. Save and copy token