WECO開源共創社區

1 項目描述

WECO是一個開源的共創社區,是一片創意互相碰撞的土壤。在這裏你能夠查看、喜歡、評論他人發佈的創意,能夠關注和私信感興趣的用戶,固然還能夠發佈屬於本身的創意!php

做爲WECO的技術支持和開發人員,簡單來講,WECO是一個相似微博和知乎的內容管理系統,只不過這裏的內容元素,也即微博的微型博客、知乎的問題以及答案,變爲了創意。所以在考慮功能設計的時候,主要是從創意自己的特色出發,並結合社交平臺和內容管理系統常見功能進行考慮。html

2 技術框架

後端框架我選擇了Flask,一個輕量級的python框架,前端使用Flask依賴的Jinjia渲染模版,以及Jquery、Bootstrap和font-awesome等。項目中還用Flask編寫了一些RESTful APIs,基於動態分配token機制實現用戶的認證和受權。前端

因爲WECO屬於商業項目,故此處不直接透露其部署地址,但代碼始終堅持開源原則,託管於Github,clone下來後通過幾步簡單的配置,一個嶄新的WECO(或者說常見功能皆具有的社交平臺)就能夠運行了。開發時間爲1個月,總共有205次commit,代碼量爲萬行級別。python

3 功能介紹

WECO 1.0已經實現的功能包括但不只限於:git

  1. 用戶註冊、登陸;
  2. 以「最新」、「最熱」兩種排序方式在首頁瀑布流展現最新創意;
  3. 創意詳情頁包括封面圖片、標題、分類、標籤、做者信息、點贊數、閱讀量、評論數和創意內容,喜歡創意、評論創意和評論點贊功能也已經實現;
  4. 查看其餘用戶,包括ta的頭像、暱稱、個性標籤,ta的基本資料、ta的創意、ta喜歡的創意、ta的關注和ta的粉絲,關注用戶和發送私信的功能也已經實現;
  5. 填寫完創意標題、分類和標籤,選擇創意封面圖片、編輯好創意內容以後便可發佈創意。創意的內容由一段段文字、一張張圖片和一個個視頻等原子元素組成,發佈以後還能夠繼續以時間軸的順序編輯、添加和刪除創意內容的各個原子元素;
  6. 編輯創意,包括更換封面圖片、修改創意標題、分類和標籤等內容;
  7. 搜索創意,搜索目標能夠是創意或其餘用戶,支持關鍵詞匹配搜索和創意分類搜索,而且實時顯示「我」的最近搜索記錄和當前系統實時熱搜;
  8. 我的中心,在這裏能夠編輯個人我的資料,包括修改頭像、暱稱、性別、個性標籤等信息,並能夠刪除本身的創意、取消喜歡已經喜歡的創意、取消關注已經關注的用戶、查看有哪些粉絲關注了本身;
  9. 個人消息,在這裏能夠看到和本身相關的動態,如他人關注了本身、喜歡了本身的創意等,還能夠看到別人發送的私信消息並打開私信窗。

文字介紹完了,準備開始發圖了!github

4 遇到的困難

大的技術難點有三,第一是Flask應用的部署,須要使用到wsgi,這裏有參考介紹;第二是APIs的設計,採起動態分配token機制的話須要考慮到多設備登陸有效性問題;第三是應用的模塊化,Blueprint是一個好的解決方案,或者這裏也有指導介紹。後端

小的技術難點包括圖片上傳、前端壓縮和裁剪等,主要使用了lrzcropit兩個js庫,萬事開頭難,一開始的摸索是必須的,學會以後就會方便高效不少。php框架

5 總結

本次項目給了我一個Flask實戰的好機會,其實也是邊學邊用、在使用的過程當中增強本身對Flask的熟悉程度。Flask相對於CI、TP等php框架最大最明顯的優點是其爲python框架,而python有着各個領域浩瀚無盡的拓展包。另外也接觸了前端裁剪、壓縮、上傳圖片,這些點在如今常見的應用中仍是至關重要的。框架

若是以爲文章不錯,不妨點一下左下方的喜歡~

相關文章
相關標籤/搜索