疫情防控,碼耕不停,來寫一個全棧應用

最近疫情比較緊張,在家調休,閒着無聊便寫了個先後端分離,服務端渲染的博客系統。支持特性:node

  • 文章建立、編輯、發佈
  • 文章及頁面評論
  • 文章搜索及搜索記錄管理
  • 頁面動態建立
  • 文件上傳(上傳到 阿里雲 OSS)
  • 郵件通知
  • 動態系統設置(系統標題、Logo、favicon、頁腳及 SEO 配置等)
  • 系統訪問統計(ip + user-agent)

使用技術:react.js typescript nextjs nestjs mysql。 GitHub 地址:github.com/zhxuc/wipi (歡迎 star)。mysql

線上預覽

前臺頁面

地址:custw.qifengle1412.cn/react

後臺頁面

  • 登陸頁面
  • 後臺首頁
  • 文章管理
  • 頁面管理

更多頁面及特性能夠本地啓動使用。git

地址:custw.qifengle1412.cn/admin/logingithub

帳戶:wipi,密碼:wipi123456。(請不要隨便刪數據哦)sql

本地啓動

clone 本項目。

git clone --depth=1 https://github.com/zhxuc/wipi.git your-project-name
複製代碼

安裝依賴

首先安裝 MySQL,推薦使用 docker 進行安裝。docker

docker run -d --restart=always --name wipi-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql
複製代碼

而後安裝項目 node 依賴。typescript

cd client && yarn
cd server && yarn
複製代碼

啓動項目

分別啓動前臺頁面和服務端。shell

cd client && yarn dev
cd server && yarn start:dev
複製代碼

打開瀏覽器,訪問 http://localhost:3000 便可訪問前臺頁面,http://localhost:3000/admin 爲後臺管理頁面。後端

服務端接口運行在 http://localhost:4000

首次啓動,默認建立用戶:wipi,密碼:wipi(可在 server/src/config 文件中進行修改)。

[PS] 如服務端配置啓動失敗,請先確認 MySQL 的配置是否正確,配置文件在 server/src/config

項目部署

在服務器使用 pm2 進行部署便可,能夠查看deploy.sh文件。

搜索服務

該項目使用了 MySQL 模糊查詢提供搜索接口。若是服務器配置較高,或想體驗更強大的搜索服務(elasticsearch),能夠參考 elasticsearch 文件下 deploy.sh 文件。

最後說一句:

相關文章
相關標籤/搜索