Ward는 Facebook의 Group에 대한 정보 및 분석을 제공하는 사이트입니다.
개발과 관련된 Facebook Group의 게시글들을 보다보면, 특정 게시글에 대하여 달려질 댓글들에 대한 알림을 받기 위해 “와드를 박습니다.”라는 댓글을 작성하거나 좋아요를 누르는 것을 볼 수 있었습니다. 이런 현상을 보며, Facebook Group의 타임라인 저편으로 사라져 찾아보기 힘든 많은 좋아요나 댓글이 달린 글들을 모아 보고 싶다는 생각을 기반으로 만들어진 사이트입니다.
이를 위해 Facebook Graph API를 이용하여 그룹에 대한 데이터를 수집하여 저장하고, 이에 대한 다양한 정보를 보여주는 기능과 관심있는 게시글이나 댓글들을 저장하여 간편하게 확인할 수 있는 기능을 제공합니다. 또한 그룹 관리자들이 Facebook Group에 올라오는 스팸들을 지우기 위해 많은 시간을 들이고 있는데, 게시글에 대한 일괄 삭제 기능을 제공하고 있으며, 추후 게시글을 분석하여 스팸에 대한 알림 등의 추가 기능을 구현할 예정입니다.
- python (tested with version 3.5) (python, Python License)
- django (tested with version 1.8.5) (django, BSD License)
- celery (tested with version 3.1.18) (celery, BSD License)
- django-celery (tested with version 3.1.17) (django-celery, BSD License)
- facebook-sdk (tested with version 1.0.0a0) (facebook-sdk, Apache License 2.0)
- mezzanine (tested with version 4.0.1) (mezzanine, BSD License)
- django-rest-framework (tested with version 3.3.0) (django-rest-framework, BSD License)
- markdown (tested with version 2.6.3) (markdown, BSD License)
- django-filter (tested with version 0.11.0) (django-filter, BSD License)
- beautifulsoup4 (tested with version 4.4.1) (beautifulsoup4, MIT License)
- lxml (tested with version 3.5.0) (lxml, BSD License)
- django-registration (tested with version 2.0.2) (django-registration, BSD License)
- JPype1-py3 (tested with version 0.5.5.2) (JPype1-py3, Apache License 2.0)
- konlpy (tested with version 0.4.4) (konlpy, GPL v3+)
- django-allauth (tested with version 0.24.1) (django-allauth, MIT License)
- redis (tested with version 2.10.3) (redis, BSD License)
- uwsgi (tested with version 2.0.11.2) (uwsgi, GPL v2)
- pylibmc (tested with version 1.5.0) (pylibmc, BSD License)
- psycopg2 (tested with version 2.6.1) (psycopg2, LGPL with exceptions or ZPL)
- python-dateutil (tested with version 2.5.0) (dateutil, Simplified BSD)
- Bootstrap (Bootstrap, MIT License)
- Bootstrap Social (Bootstrap Social, MIT License)
- jQuery (jQuery, MIT License)
- jQuery UI (jQuery UI, MIT License)
- Font Awesome (Font Awesome, SIL OFL 1.1, MIT License)
- Font Awesome Animation (Font Awesome Animation, MIT License)
- JUI (JUI, MIT License)
- Start Bootstrap Creative (Start Bootstrap, Apache License 2.0)
- Start Bootstrap SB Admin 2 (Start Bootstrap, Apache License 2.0)
- Bootstrap Login Form (AZMIND, MIT License)
- html2canvas (html2canvas, MIT License)
- jqPlot (jqPlot, GPL v2 or MIT License)
- vis.js (vis, Apache License 2.0, MIT License)
- jqcloud (jqcloud, MIT License)
- PostgreSQL (PostgreSQL)
- Redis (Redis)
- Node.js (Node.js)
- Bower (Bower)
와드는 Docker를 사용하고 있으며, 이를 이용하여 손쉽게 설치할 수 있습니다. Docker를 더 자세히 알고 싶으시면, 이 사이트를 방문해 주세요.
cd [product_forder]
docker build -t=ward .
docker run --name ward -it -p 80:80 -v /var/log/ward:/var/log ward:latest
pip install -r requirements.txt
brew install redis
brew install node
npm install bower
bash <(curl -s https://raw.githubusercontent.com/konlpy/konlpy/master/scripts/mecab.sh)
cd [product_forder]
bower install
cd [product_forder]/www
python manage.py migrate
python manage.py createsuperuser
sudo redis-server
. run_celery.sh
# JPype1-py3
sudo apt-get install default-jdk
sudo apt-get install g++ python3-dev
# lxml
sudo apt-get install python3-lxml
sudo apt-get install libxml2-dev libxslt-dev python-dev
sudo apt-get build-dep python3-lxml
# Pillow
sudo apt-get build-dep python-imaging
sudo apt-get install libjpeg8 libjpeg62-dev libfreetype6 libfreetype6-dev
# psycopg2
sudo apt-get install python-psycopg2
sudo apt-get install libpq-dev python-dev
# npm
sudo apt-get install -y python-software-properties python g++ make
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs
sudo apt-get install npm
sudo npm install -g bower
# redis
sudo apt-get install redis-server
# Mecab
sudo apt-get install curl
bash <(curl -s https://raw.githubusercontent.com/konlpy/konlpy/master/scripts/mecab.sh)
cd workspace
sudo chown www-data:www-data -R *
cd [product_forder]
bower install
cd [product_forder]/www
python manage.py migrate
python manage.py createsuperuser
반드시 ward/wwww/fb_archive
안에 있는 local_settings.py
파일을 자신의 환경에 맞추어 설정해 주세요.
- admin 페이지(http://localhost/admin)에 있는
Social application
카테고리에 들어갑니다. Add social application
를 클릭하고Name
에 facebook을,Client id
에 app id를,Secret key
에 app secret을 입력해주시면 됩니다. 더 자세한 사항은 이 사이트를 방문해 주세요.
만약 Pycharm을 사용하시는 도중 unresolved reference issue
가 발생하면 아래와 같은 방법으로 설정 해주세요.
www
폴더를 오른쪽 클릭하여,Mark Directory As
에 있는Source root
를 설정 해주세요.- Pycharm의
Preferences...
에Build, Execution, Deployment
>Console
>Python Console
에 있는add source roots to PYTHONPATH
에 체크해 주세요. - 상단의 내용이 이해가 안가실경우 이 사이트를 방문해 주세요.
Preferences...
>Languages & Frameworks
>Django
에 가셔서Django project root
를 상단의 첫번째 설정하셨던www
폴더로 설정해주시고Settings
를fb_archive/settings.py
로,Manage script
를manage.py
로 설정해주세요.
Ward는 GPL v3+하에 배포됩니다.
Contribution Guide 문서를 읽어주세요.
더 많은 정보의 제공을 위해 Wiki를 사용하고 있습니다.