Skip to content
This repository has been archived by the owner on Jun 16, 2020. It is now read-only.

pjwards/ward

Repository files navigation

Stories in Ready

Ward는 Facebook의 Group에 대한 정보 및 분석을 제공하는 사이트입니다.

개발과 관련된 Facebook Group의 게시글들을 보다보면, 특정 게시글에 대하여 달려질 댓글들에 대한 알림을 받기 위해 “와드를 박습니다.”라는 댓글을 작성하거나 좋아요를 누르는 것을 볼 수 있었습니다. 이런 현상을 보며, Facebook Group의 타임라인 저편으로 사라져 찾아보기 힘든 많은 좋아요나 댓글이 달린 글들을 모아 보고 싶다는 생각을 기반으로 만들어진 사이트입니다.

이를 위해 Facebook Graph API를 이용하여 그룹에 대한 데이터를 수집하여 저장하고, 이에 대한 다양한 정보를 보여주는 기능과 관심있는 게시글이나 댓글들을 저장하여 간편하게 확인할 수 있는 기능을 제공합니다. 또한 그룹 관리자들이 Facebook Group에 올라오는 스팸들을 지우기 위해 많은 시간을 들이고 있는데, 게시글에 대한 일괄 삭제 기능을 제공하고 있으며, 추후 게시글을 분석하여 스팸에 대한 알림 등의 추가 기능을 구현할 예정입니다.

소개

필요한 도구들

Back-End

Front-End

Etc

설치방법

Docker의 경우

와드는 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
Mac의 경우
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
Ubuntu의 경우
# 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

환경설정

setting.py 설정

반드시 ward/wwww/fb_archive안에 있는 local_settings.py파일을 자신의 환경에 맞추어 설정해 주세요.

OAuth Setting 설정

  1. admin 페이지(http://localhost/admin)에 있는 Social application카테고리에 들어갑니다.
  2. Add social application를 클릭하고 Name에 facebook을, Client id에 app id를, Secret key에 app secret을 입력해주시면 됩니다. 더 자세한 사항은 이 사이트를 방문해 주세요.

기타설정

Pycharm

만약 Pycharm을 사용하시는 도중 unresolved reference issue가 발생하면 아래와 같은 방법으로 설정 해주세요.

  1. www폴더를 오른쪽 클릭하여, Mark Directory As에 있는 Source root를 설정 해주세요.
  2. Pycharm의 Preferences...Build, Execution, Deployment > Console > Python Console에 있는 add source roots to PYTHONPATH에 체크해 주세요.
  3. 상단의 내용이 이해가 안가실경우 이 사이트를 방문해 주세요.
  4. Preferences... > Languages & Frameworks > Django에 가셔서 Django project root를 상단의 첫번째 설정하셨던 www폴더로 설정해주시고 Settingsfb_archive/settings.py로, Manage scriptmanage.py로 설정해주세요.

라이센스

Ward는 GPL v3+하에 배포됩니다.

컨트리뷰션 가이드

Contribution Guide 문서를 읽어주세요.

Wiki

더 많은 정보의 제공을 위해 Wiki를 사용하고 있습니다.