又一個新項(xiàng)目搞完啦?。?!
大家好,我是魚皮。
我在 自己的?編程導(dǎo)航?內(nèi)的第 4 個 全程直播開發(fā) 的項(xiàng)目 —— ?聚合搜索平臺,完結(jié)啦!

我在這里對該項(xiàng)目做一個簡單的總結(jié),希望讓更多需要它的同學(xué)看到,把它變成自己的項(xiàng)目~
項(xiàng)目簡介
這次做的是一個突擊型項(xiàng)目,基于 Vue 3 + Spring Boot + Elastic Stack 的 一站式聚合搜索平臺 ,也是簡化版的企業(yè)級搜索中臺。
對用戶來說,使用該平臺,可以在同一個頁面集中搜索出不同來源、不同類型的內(nèi)容,提升用戶的檢索效率和搜索體驗(yàn)。
對企業(yè)來說,當(dāng)企業(yè)內(nèi)部有多個項(xiàng)目的數(shù)據(jù)都存在搜索需求時,無需針對每個項(xiàng)目單獨(dú)開發(fā)搜索功能,可以直接將各項(xiàng)目的數(shù)據(jù)源接入搜索中臺,從而提升開發(fā)效率、降低系統(tǒng)維護(hù)成本。
放一些項(xiàng)目截圖,前端部分其實(shí)很簡單~
聚合搜索頁面 - 搜文章:

聚合搜索頁面 - 搜圖片:

聚合搜索頁面 - 搜用戶:

Elastic Stack - Kibana 數(shù)據(jù)看板:

項(xiàng)目架構(gòu)圖:

此外,這個項(xiàng)目中還應(yīng)用到了魚皮提供的萬用后端項(xiàng)目模板,熟練之后,幾分鐘開發(fā)一個新功能 真的輕輕松松!
感興趣的同學(xué)可以 免費(fèi)試看 第一期項(xiàng)目回放:

項(xiàng)目特點(diǎn)和收獲
1)本項(xiàng)目選用 Vue 3 + Spring Boot 2.7 新版本實(shí)現(xiàn),包含完整的前后端,從需求分析、技術(shù)選型、系統(tǒng)設(shè)計、前后端開發(fā)再到最后上線,整個項(xiàng)目的制作過程為 全程直播 !
2)項(xiàng)目選題新穎,不是電商、不是管理系統(tǒng)、不是博客論壇,而是企業(yè)架構(gòu)層面的 通用搜索能力 的抽象,做完這個項(xiàng)目后,之后你自己在做任何業(yè)務(wù)系統(tǒng)時,都可以復(fù)用這次開發(fā)的搜索能力。
3)項(xiàng)目中會帶大家學(xué)習(xí)和實(shí)戰(zhàn):多種數(shù)據(jù)爬蟲方法、4 種 數(shù)據(jù)同步方法、接口優(yōu)化( 運(yùn)用了多種設(shè)計模式 )、Elastic Stack (Elasticsearch 搜索引擎、Kibana 看板)、壓力測試等一系列知識。
4)除了學(xué)做項(xiàng)目之外,魚皮還在直播過程中聊到了不少知識點(diǎn),幫助大家提升架構(gòu)設(shè)計思維、學(xué)會對比方案、閱讀文檔的套路;所有 Bug 和問題均為直播解決 ,帶大家提升自主排查問題、解決 Bug 的能力。(課程中魚皮還演示了一小下 ChatGPT 的使用)
5)項(xiàng)目總耗時不長,主打的是 快速帶大家學(xué)習(xí)新技術(shù)并直接實(shí)踐運(yùn)用 ,并且魚皮已經(jīng)整理好了這個項(xiàng)目可以寫在簡歷上的亮點(diǎn),成為簡歷上的亮眼項(xiàng)目。
本項(xiàng)目適合的同學(xué)
本項(xiàng)目前后端都有,但更側(cè)重后端,重點(diǎn)講了幾種數(shù)據(jù)抓取方式、使用幾種設(shè)計模式來優(yōu)化接口、Elasticsearch 搜索引擎從 0 到 1 的應(yīng)用、4 種數(shù)據(jù)同步方式等。
如果你學(xué)習(xí)過后端開發(fā)技術(shù)(比如 Java Web),希望做一個區(qū)別于管理系統(tǒng)的、有亮點(diǎn)的、寫在簡歷上加分的項(xiàng)目,并提升自己的編程和架構(gòu)設(shè)計能力,那么非常歡迎來學(xué)習(xí)!
當(dāng)然,如果你是前端,也可以通過這個項(xiàng)目學(xué)習(xí)到一些前端開發(fā)的小技巧(比如頁面狀態(tài)同步),但是最好學(xué)習(xí)過 Vue 或 React 等至少一門開發(fā)框架。
再介紹下這個項(xiàng)目用到的技術(shù),都是主流的~
技術(shù)選型(全棧項(xiàng)目)
前端
Vue 3
Ant Design Vue 組件庫
頁面狀態(tài)同步開發(fā)
后端
Spring Boot 2.7 框架 + springboot-init 腳手架
MySQL 數(shù)據(jù)庫(8.x 版本)
Elastic Stack
Elasticsearch 搜索引擎(重點(diǎn))
Logstash 數(shù)據(jù)管道
Kibana 數(shù)據(jù)可視化
數(shù)據(jù)抓取(jsoup、HttpClient 爬蟲)
離線
實(shí)時
設(shè)計模式
門面模式
適配器模式
注冊器模式
數(shù)據(jù)同步(4 種同步方式)
定時
雙寫
Logstash
Canal
JMeter 壓力測試
再列舉下項(xiàng)目的大綱,這只是其中讓我印象比較深刻的關(guān)鍵環(huán)節(jié),直播過程中還講了很多平時大家自己看視頻根本學(xué)不到的做項(xiàng)目經(jīng)驗(yàn)和編碼技巧,比如怎么又穩(wěn)又快地自學(xué)一個新技術(shù)。
項(xiàng)目大綱
項(xiàng)目介紹和計劃
需求分析
技術(shù)選型、業(yè)務(wù)流程、系統(tǒng)架構(gòu)介紹
前端項(xiàng)目初始化
前端腳手架使用
框架、組件庫、請求庫整合
后端項(xiàng)目初始化
Spring Boot 萬用模板介紹和使用
前端聚合搜索頁面開發(fā)
前后端聯(lián)調(diào)
多數(shù)據(jù)源獲取 (包含幾種爬蟲方式的講解和實(shí)踐)
JSoup 離線抓取
HttpClient 實(shí)時抓取
聚合搜索業(yè)務(wù)場景分析
聚合搜索接口開發(fā)
門面模式講解
性能測試
搜索接口優(yōu)化
統(tǒng)一標(biāo)準(zhǔn)
適配器模式
注冊器模式
前端搜索接口調(diào)用優(yōu)化
從 0 開始學(xué)習(xí) Elastic Stack
Elasticsearch 概念及倒排索引原理
Elasticsearch / Kibana 安裝
Elasticsearch + Kibana Dev Tools 入門實(shí)踐
Elasticsearch 調(diào)用方式講解
ES 搜索引擎實(shí)戰(zhàn)
幾種 Java 客戶端操作方式講解
ES 標(biāo)準(zhǔn)開發(fā)流程實(shí)戰(zhàn)
動靜分離
數(shù)據(jù)同步(4 種同步方式)
定時
雙寫
Logstash
Canal
Kibana 搭建看板
JMeter 接口性能測試
項(xiàng)目擴(kuò)展點(diǎn)
項(xiàng)目資料
我們整理好了項(xiàng)目完整源代碼、詳細(xì)的直播筆記和直播大綱,便于大家交流學(xué)習(xí)。

最關(guān)鍵的是,魚皮已經(jīng)整理好了這個項(xiàng)目的簡歷寫法和亮點(diǎn)(也就接近 30 個吧),做完項(xiàng)目后就能直接填滿簡歷!

因?yàn)轫?xiàng)目是在我的 編程知識星球 內(nèi)直播做的,所以自然不能給大家免費(fèi)發(fā)放啦。(要不然又成為一個泛濫的項(xiàng)目了)
大家如果對這個項(xiàng)目感興趣,歡迎加入我的星球,加入后可以跟著后續(xù)的直播做新項(xiàng)目、隨時觀看 超清完整的 全部直播回放 、完整的項(xiàng)目筆記以及踩坑指南、最新的項(xiàng)目源碼等。
最關(guān)鍵的是:做項(xiàng)目的過程中,有任何問題,都可以和大家一起交流或者 直接加微信向魚皮提問 !
星球里每個項(xiàng)目都有獨(dú)立的交流群:

已經(jīng)有不少小伙伴學(xué)起來了,還有很多大家自發(fā)整理的筆記。不得不說,做項(xiàng)目真的給了很多同學(xué)一個堅持學(xué)習(xí)的目標(biāo),大家的動力也更足了!

關(guān)于 編程導(dǎo)航知識星球 ,我已經(jīng)運(yùn)營了一年多了,就不過多地介紹了,感興趣的同學(xué)可以訪問 https://yupi.icu 來了解詳情。
送大家一張 9 折優(yōu)惠券,可以直接長按下方海報掃碼領(lǐng)券加入(3 天內(nèi)不滿意可全額退款),歡迎大家:
