WECO是一個開源的共創社區,是一片創意互相碰撞的土壤。在這裏你能夠查看、喜歡、評論他人發佈的創意,能夠關注和私信感興趣的用戶,固然還能夠發佈屬於本身的創意!php
做爲WECO的技術支持和開發人員,簡單來講,WECO是一個相似微博和知乎的內容管理系統,只不過這裏的內容元素,也即微博的微型博客、知乎的問題以及答案,變爲了創意。所以在考慮功能設計的時候,主要是從創意自己的特色出發,並結合社交平臺和內容管理系統常見功能進行考慮。html
後端框架我選擇了Flask,一個輕量級的python框架,前端使用Flask依賴的Jinjia渲染模版,以及Jquery、Bootstrap和font-awesome等。項目中還用Flask編寫了一些RESTful APIs,基於動態分配token機制實現用戶的認證和受權。前端
因爲WECO屬於商業項目,故此處不直接透露其部署地址,但代碼始終堅持開源原則,託管於Github,clone下來後通過幾步簡單的配置,一個嶄新的WECO(或者說常見功能皆具有的社交平臺)就能夠運行了。開發時間爲1個月,總共有205次commit,代碼量爲萬行級別。python
WECO 1.0已經實現的功能包括但不只限於:git
文字介紹完了,準備開始發圖了!github
大的技術難點有三,第一是Flask應用的部署,須要使用到wsgi,這裏有參考介紹;第二是APIs的設計,採起動態分配token機制的話須要考慮到多設備登陸有效性問題;第三是應用的模塊化,Blueprint是一個好的解決方案,或者這裏也有指導介紹。後端
小的技術難點包括圖片上傳、前端壓縮和裁剪等,主要使用了lrz和cropit兩個js庫,萬事開頭難,一開始的摸索是必須的,學會以後就會方便高效不少。php框架
本次項目給了我一個Flask實戰的好機會,其實也是邊學邊用、在使用的過程當中增強本身對Flask的熟悉程度。Flask相對於CI、TP等php框架最大最明顯的優點是其爲python框架,而python有着各個領域浩瀚無盡的拓展包。另外也接觸了前端裁剪、壓縮、上傳圖片,這些點在如今常見的應用中仍是至關重要的。框架