Spring Boot 實戰:我們的第一款開源軟體

純潔的微笑發表於2016-09-26

在資訊爆炸時代,如何避免持續性資訊過剩,使自己變得專注而不是被紛繁的資訊所累?每天會看到各種各樣的新聞,各種新潮的技術層出不窮,如何篩選出自己所關心的?

各位看官會想,我們是來看開源軟體的,你給我扯什麼資訊幹嘛,彆著急,聽我慢慢道來。

背景

瀏覽器收藏夾應該是我們在收藏文章、網站的第一個利器,平時遇到喜歡的網站或者文章很方便的收藏到收藏夾中;很快我們的收藏夾就滿了,於是就像我這樣,建立資料夾來分組兩層、三層都有:

favorites_chrome

有的也會藉助百度首頁導航這樣的一些功能來整理自己收藏的網站,以前我記得 QQ 還有一款產品叫做網路收藏夾,用過一段時間,後來 QQ 也把這款產品給淘汰了;也嘗試了去用印象筆記、有道筆記這些產品,這些產品都偏向收藏一些具體的文章或者自己整理的日誌資訊方面。

當瀏覽器收藏夾收藏的網站或者文章在一百份以內的時候收藏和查詢問題都不是特別大。當收藏大於1000份的時候,去查詢自己收藏的內容絕對是個體力活,另外還有一些文章我僅僅只是暫時儲存下來,準備隨後找時間看看就行,也需要收藏、整理、刪除的時候就很麻煩。

產品介紹

於是在這樣的背景下,我就想著需要做這麼一款產品,可以方便隨時隨地的收藏我喜歡的文章或者網站,方便整理,我日後需要的時候非常方便的去檢索,另外如果可以的話,我是否可以分享我自己收藏的文章或者網站,同時也可以看看大牛們或者是同行都收藏了什麼文章我是否感興趣,於是就開發了這麼一款產品:雲收藏

核心功能點:

  • 收藏、分類、檢索文章
  • 匯出、匯出(包活從瀏覽器中)
  • 可以點贊、分享、討論
  • 註冊、登入、個人賬戶
  • 臨時收藏、檢視別人收藏
  • 其它...

放產品一些截圖:

主頁
favorites_chrome

註冊
favorites_chrome

首頁
favorites_chrome

收藏
favorites_chrome

技術點

這段時間我們團隊主要在學習 Spring Boot,這個開源專案也就成了我們的練習新技術的一個非常好的產品,主要的技術都是和 Spring Boot相關,可以參考我以前文章 Spring Boot 系列文章

網頁端

網頁端收藏夾主頁

收藏快捷圖示

這個是收藏的最關鍵一步,一段js程式碼,拖入到瀏覽器的收藏夾,每次點選收藏的時候負責讀取網站的 title、描述、網址等資訊,並且提交到收藏的頁面

前端

前端頁面由Angle - Bootstrap Admin theme這套主題改造而來;模版引擎使用了thymeleaf,可以參考這篇文章:Spring Boot(四):Thymeleaf 使用詳解

持久層

資料庫主要使用了 Spring Data Jpa 模版來實現,可以參考這篇文章:Spring Boot(五):Spring Data Jpa 的使用

session

session 使用持久化技術來儲存登入狀態,登入一次保持需要會話30天,主要是依賴 Redis 來實現,參考:Spring Boot(三):Spring Boot 中 Redis 的使用

其它

使用grade做為專案的構建工具、使用了一點webjarsvuejsJsoupScheduled ...

客戶端

客戶端技術使用 react native 來開發安卓和 IOS 的 app,目前還在開發中,完成之後也會開源出來。

未來計劃做的內容

這個開源產品暫時只是開源了我們 Web 端產品,安卓端、IOS 端內容的開發還在進行中。

未來我們還會持續的來完善這些產品,做一些有意思的小功能,以下可能是我們近期準備要做的

  • 可以自定義個人收藏頁面
  • 無登入可以檢視熱門收藏內容
  • 首頁展示熱門收藏家
  • 小紙條
  • 智慧推薦
  • 其它...

大家有什麼更好玩想法,也可以在建議給我們

產品主頁

產品地址
原始碼地址

示例程式碼-github

示例程式碼-碼雲

相關文章