WECO開源共創(chuàng)社區(qū)

1 項目描述##

WECO是一個開源的共創(chuàng)社區(qū),是一片創(chuàng)意互相碰撞的土壤。在這里你可以查看、喜歡、評論他人發(fā)布的創(chuàng)意,可以關(guān)注和私信感興趣的用戶,當(dāng)然還可以發(fā)布屬于自己的創(chuàng)意!

WECO首頁.png
發(fā)布創(chuàng)意.png

作為WECO的技術(shù)支持和開發(fā)人員,簡單來說,WECO是一個類似微博和知乎的內(nèi)容管理系統(tǒng),只不過這里的內(nèi)容元素,也即微博的微型博客、知乎的問題以及答案,變?yōu)榱藙?chuàng)意。因此在考慮功能設(shè)計的時候,主要是從創(chuàng)意本身的特點出發(fā),并結(jié)合社交平臺和內(nèi)容管理系統(tǒng)常見功能進(jìn)行考慮。

2 技術(shù)框架##

后端框架我選擇了Flask,一個輕量級的python框架,前端使用Flask依賴的Jinjia渲染模版,以及Jquery、Bootstrap和font-awesome等。項目中還用Flask編寫了一些RESTful APIs,基于動態(tài)分配token機(jī)制實現(xiàn)用戶的認(rèn)證和授權(quán)。

由于WECO屬于商業(yè)項目,故此處不直接透露其部署地址,但代碼始終堅持開源原則,托管于Github,clone下來后經(jīng)過幾步簡單的配置,一個嶄新的WECO(或者說常見功能皆具備的社交平臺)就可以運行了。開發(fā)時間為1個月,總共有205次commit,代碼量為萬行級別。

3 功能介紹##

WECO 1.0已經(jīng)實現(xiàn)的功能包括但不僅限于:

  1. 用戶注冊、登錄;
  2. 以“最新”、“最熱”兩種排序方式在首頁瀑布流展示最新創(chuàng)意;
  3. 創(chuàng)意詳情頁包括封面圖片、標(biāo)題、分類、標(biāo)簽、作者信息、點贊數(shù)、閱讀量、評論數(shù)和創(chuàng)意內(nèi)容,喜歡創(chuàng)意、評論創(chuàng)意和評論點贊功能也已經(jīng)實現(xiàn);
  4. 查看其他用戶,包括ta的頭像、昵稱、個性標(biāo)簽,ta的基本資料、ta的創(chuàng)意、ta喜歡的創(chuàng)意、ta的關(guān)注和ta的粉絲,關(guān)注用戶和發(fā)送私信的功能也已經(jīng)實現(xiàn);
  5. 填寫完創(chuàng)意標(biāo)題、分類和標(biāo)簽,選擇創(chuàng)意封面圖片、編輯好創(chuàng)意內(nèi)容之后即可發(fā)布創(chuàng)意。創(chuàng)意的內(nèi)容由一段段文字、一張張圖片和一個個視頻等原子元素組成,發(fā)布之后還可以繼續(xù)以時間軸的順序編輯、添加和刪除創(chuàng)意內(nèi)容的各個原子元素;
  6. 編輯創(chuàng)意,包括更換封面圖片、修改創(chuàng)意標(biāo)題、分類和標(biāo)簽等內(nèi)容;
  7. 搜索創(chuàng)意,搜索目標(biāo)可以是創(chuàng)意或其他用戶,支持關(guān)鍵詞匹配搜索和創(chuàng)意分類搜索,并且實時顯示“我”的最近搜索記錄和當(dāng)前系統(tǒng)實時熱搜;
  8. 個人中心,在這里可以編輯我的個人資料,包括修改頭像、昵稱、性別、個性標(biāo)簽等信息,并可以刪除自己的創(chuàng)意、取消喜歡已經(jīng)喜歡的創(chuàng)意、取消關(guān)注已經(jīng)關(guān)注的用戶、查看有哪些粉絲關(guān)注了自己;
  9. 我的消息,在這里可以看到和自己相關(guān)的動態(tài),如他人關(guān)注了自己、喜歡了自己的創(chuàng)意等,還可以看到別人發(fā)送的私信消息并打開私信窗。

文字介紹完了,準(zhǔn)備開始發(fā)圖了!

注冊登錄.png
首頁.png
創(chuàng)意詳情.png
用戶詳情.png
發(fā)布創(chuàng)意1.png
發(fā)布創(chuàng)意2.png
發(fā)布創(chuàng)意3.png
搜索創(chuàng)意.png
個人中心.png
我的消息.png

4 遇到的困難##

大的技術(shù)難點有三,第一是Flask應(yīng)用的部署,需要使用到wsgi,這里有參考介紹;第二是APIs的設(shè)計,采取動態(tài)分配token機(jī)制的話需要考慮到多設(shè)備登錄有效性問題;第三是應(yīng)用的模塊化,Blueprint是一個好的解決方案,或者這里也有指導(dǎo)介紹。

小的技術(shù)難點包括圖片上傳、前端壓縮和裁剪等,主要使用了lrzcropit兩個js庫,萬事開頭難,一開始的摸索是必須的,學(xué)會之后就會方便高效很多。

5 總結(jié)##

本次項目給了我一個Flask實戰(zhàn)的好機(jī)會,其實也是邊學(xué)邊用、在使用的過程中加強(qiáng)自己對Flask的熟悉程度。Flask相對于CI、TP等php框架最大最明顯的優(yōu)勢是其為python框架,而python有著各個領(lǐng)域浩瀚無盡的拓展包。另外也接觸了前端裁剪、壓縮、上傳圖片,這些點在現(xiàn)在常見的應(yīng)用中還是相當(dāng)重要的。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,030評論 25 709
  • 22年12月更新:個人網(wǎng)站關(guān)停,如果仍舊對舊教程有興趣參考 Github 的markdown內(nèi)容[https://...
    tangyefei閱讀 35,399評論 22 257
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,291評論 4 61
  • 孩子你睡吧 夢里會有跳舞的大熊 你會住在用糖果砌成的房子 鄰居是一只可愛的小兔 孩子你睡吧 你尋著點點的星光 一步...
    Hwang499閱讀 333評論 0 0
  • 2005年,御劍而來,定義了我們心中的逍遙哥哥。 2006年,遭遇車禍,復(fù)出后一次次嘗試顛覆自己。 2015年,鳳...
    方圓丶幾何閱讀 902評論 10 14

友情鏈接更多精彩內(nèi)容