Skip to content

pycontw/quizbot-2017

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PyCon Taiwan 2017 猜謎機器人

Production: https://pycontw2017-quizbot.herokuapp.com

專案規劃

spec/README.rst

專案設定

需求

  • Python 3.6+
  • PostgreSQL 9.3+

建立需要檔案

註:專案根目錄即本檔案所在目錄。

  1. 在根目錄建立 .env 檔案,用來指定專案環境變數。檔案格式類似一般用來 source 的 Bash 檔,使用 python-dotenv 管理,參見文檔了解可用格式。
  2. .env 檔案中寫入需要的環境變數:
    • DATABASE_URL 指定資料庫路徑。資料庫路徑資訊由 dj-database-url 管理,參見文檔了解可用參數。
    • DJANGO_SECRET_KEY 指定 Django 需要的 secret key。
    • DJANGO_SETTINGS_MODULE 指定 Django 的設定檔路徑。本地端應設定成 webapi.fbbot.settings.local
    • FACEBOOK_ACCESS_TOKENFACEBOOK_VERIFY_TOKEN 指定 Facebook Messenger bot 需要的認證資訊。
    • LINE_ACCESS_TOKENLINE_CHANNEL_SECRET 指定 LINE bot 需要的認證資訊。
    • SOURCES_URL 指定題目檔的下載來源。
    • TICKETS_URL 指定註冊資料的下載來源。
    • DATA_FILE_USERNAMEDATA_FILE_PASSWORD 指定下載題目檔與註冊資料時,應使用的 Basic Auth 資訊。

設定開發環境

開發環境用 pipenv 管理。先在系統安裝 pipenv 後,在 project root 執行以下指令,安裝專案所需 dependencies(包含開發用工具):

pipenv install --dev

常用指令

若需用 pipenv 管理的 virtualenv 執行指令,直接在原本的指令前面加上 pipenv run 即可。例如下面的指令可進入專案 virtualenv 的 Python interactive shell:

pipenv run python

為精簡起見,以下的指令一律省略 pipenv run 前綴。

資料庫 schema 同步:

python -m quizzler.migrations

本地檢視 RestructuredText 文件:

restview 文件路徑

執行 dev web server:

python webapi/manage.py runserver