컨트리뷰션을 위한 가이드라인 (크롤링 프로젝트) - hamonikr/democratization-expertise GitHub Wiki

프로젝트 소개

이 프로젝트는 Democratization of Expertise 프로젝트의 검색기능 강화를 위한 데이터를 제공하고자 하여 파이썬을 통한 크롤링을 통해 hamonikr-de-community의 검색기능에 사용될 데이터를 수집하고 데이터는 csv 형태로 저장하여 깃허브를 통해 PR을 통해 전달하였습니다. 또한 저희가 Democratization of Expertise 프로젝트에 Contributor로서 참여한 과정과 저희 프로젝트에 대한 설명이 앞으로도 위 프로젝트에 참여하시게 될 Contributor분들께 도움이 되고자 이 wiki를 제작하였습니다.


프로젝트 진행과정 설명 & 참고 가이드라인

1. issue 등록

  • 프로젝트 홈 - 상단 바의 issues 버튼을 선택한다.

  • 이슈를 작성하고 submit new issue 버튼을 선택한다.

2. 해당 프로젝트를 Fork하여 Fork repository 생성

  • 프로젝트 홈 - 오른쪽 상단의 fork 버튼 선택 ( = 자신 또는 선택한 organization에 fork된 새로운 레포지토리가 생성된다)

3. 컨트리뷰션 프로젝트 진행을 위한 repository 생성

4. 이슈를 통한 프로젝트 코어멤버와의 소통 및 컨트리뷰션 프로젝트 제작/개선


  • Pycharm 환경에서 BS4(BeautifulFoup4)와 requests, pandas 모듈을 이용하여 파이썬 스크래핑을 진행하였고 수집한 데이터를 csv파일로 저장하는 방식으로 구현하였습니다. 또한 한국의 개방형OS 정보들을 지식검색을 통해 쉽게 통합검색하기 위한 기능에 대한 컨트리뷰션이였으며 이에 따라 개방형OS에 대한 QNA 데이터를 수집하기 위해 hashcodeubuntu korea community에서 데이터를 수집하였습니다.

    컨트리뷰션 프로젝트 레포지토리 링크 : https://github.com/2020-Invesum-Internship/webcrawler-for-hamonikr-demoex
    크롤링과 관련해 더 상세한 내용이 궁금하시다면 위의 레포지토리의 wiki와 code를 참고해주세요

5. Fork 한 repository를 clone하여 데이터 추가/수정 후 PUSH

6. PR 요청

  • 원래의 저장소와 fork한 저장소 간의 충돌이 없도록 git rebase, fetch 등을 통해 잘 관리해야 합니다.
  • 현재 Democratization of Expertise 프로젝트는 action의 workflow에 따라서 PR 요청시 검사됩니다.

    검사결과를 잘 확인하고 위 화면과 같이 충돌시 detail을 확인하시면 충돌해결의 실마리를 찾는데 도움이 됩니다. 충돌원인이 명확하지 않다면 새로운 이슈를 생성해 프로젝트의 코어멤버와 논의해보는 것도 좋은 방법입니다:)

프로젝트 진행 중 커뮤니티 활동

  1. 저희는 먼저 프로젝트 참여 방법에 대한 가이드 라인에 따라 먼저 저희가 기여하고자 하는 사항에 대해서 이슈 탭을 확인하고 이에 관한 작업이 현재 없음을 확인하고 이슈를 추가하였습니다. 또한 이 과정 중 문서에서 발견된 링크 오류를 slack의 #de방 (: 누구나 참여할 수 있는 커뮤니티 채널)을 통해 수정요청을 하였습니다.

  2. 해당 프로젝트의 코어멤버 또는 다른 참여자들과 계속해서 issue, PR을 통해 의사소통을 하며 진행 방향을 구체화하며 프로젝트를 진행하였습니다.

⚠️ **GitHub.com Fallback** ⚠️