例會時間:2016.11.3
整理:姬索肇
例會照片
?
每個人的工作
任務分配
我們今天與王鹿鳴學長和李云濤學長針對團隊開發過程中遇到的問題進行了討論,非常感謝學長們的熱心幫助,同時我們也被他們強大的編程能力所折服~
在這里為學長們點個贊^_^
在學長的建議下,我們4名團隊成員有了更加明確的分工。
李文濤,黎柏文:負責前端界面的完善
姬索肇,韓慧敏:負責Solr和后端的連接
經過與數據處理組的溝通,在Solr中先存放了一些簡單的信息,嘗試進行連接工作。
Solr中的信息格式:
{ "id": "web0",
"title": [ "" ],
"links": [ "http://runningonempty.acm.org/fullreport2.pdf" ],
"_version_": 1549993234929811500 },
主要包含文件的標題和文件的鏈接
以json的形式反饋給后端,然后再由后端處理后交給ReactJS處理
團隊成員 | 分配任務 | 任務分數 | 任務開始時間 | 任務截止時間 |
李文濤 | ?針對Solr反饋的數據,修改前端頁面 | 5 | 11.4-6:00? | 11.5-6:00? |
姬索肇 | 根據數據處理組上傳的數據修改后端代碼 | 5 | 11.4-6:00? | 11.5-6:00? |
韓慧敏 | 根據數據處理組上傳的數據修改后端代碼 | 5 | 11.4-6:00? | 11.5-6:00?? |
黎柏文 | 完善頁面中的FeedBack功能 | 5 | 11.4-6:00? | 11.5-6:00?? |
項目架構簡述
?根據兩位學長的講解,我在這里梳理一下項目的基本架構以及各個部分對應的文件路徑。
后端架構:Django
主要由一些.py文件構成
views.py的作用是把前后端連接起來,作為后端向前端返回數據的唯一出口
settings.py是一些設置,例如對于數據庫db.sqlite3的讀取方式可以在此設置。
models.py是以類的形式描述的數據庫字典,可以當成django為了連接數據庫提供的封裝
前端架構:ReactJS
需要進一步學習的內容:ReactJS,AltJs
assets/xuebaonline/目錄下的各個.jsx文件用于控制前端的界面渲染。
app.jsx是主界面的總的控制端。
components是各個組件所在的文件夾,里面的文件都是.jsx文件,例如搜索結果顯示的界面由searchresult.jsx控制,如果要增加組件就需要更改這些文件。
里面return的內容都是http的代碼,用來控制界面的顯示。
[注]使用Chrome的審查元素功能就可以查看界面中某一部分對應的組件是什么
搜索系統:Solr
在Admin界面collection1下的Query界面可以進行查詢,Solr返回的查詢結果是json格式的,views.py文件中有關于solr處理的內容。
query函數中,
1 solr_url = '馬賽克'#代表solr的查詢地址 2 #... 3 for doc in res['docs']: 5 que = {} 7 que['id'] = doc['id'] 9 que['title'] = doc['title'] 11 que['owner'] = doc['owner_s'] 13 que['view_count'] = doc['view_count_i'] 15 que['ans_num'] =doc['answer_count_i'] 17 que['creation_date'] = doc['creation_date_s'] 19 que['url'] = doc['links'][0] 21 que['body'] = doc['body_t'] 23 que['tags_name'] = doc['tags_ss'] 25 question_list.append(que) 27 #doc['owner_s']里的owner_s是Solr中的字段,而que['owner']中的owner是前端顯示搜索界面時識別的字段。
?燃盡圖
?