gin博客項目開發日志1

gin項目博客系統偽第一代

項目概述

1.1 目標

  • 實現一個功能完整、易用的博客系統,允許用戶發布、編輯和管理博客文章。

1.2 背景

  • 看到網上有很多語言寫的博客系統,但go的卻很少,正好,現在我在學go,可以拿博客來練練手,為什么選博客呢?博客系統主要能用于發表自己的觀點、經驗和知識。它可以提供一個平臺,能讓我和朋友們創建、編輯和評論文章,這樣既能練習增刪改查的能力,可擴展性和實用性也是一絕,在之后仍然能加入很多功能,是小白練手,老白回顧的無二之選!

用戶角色

  • 2.1 訪客

    可以查看博客文章、評論和用戶信息。

  • 2.2 管理員

    有所有用戶權限,并可以管理用戶、文章和評論。

  • 2.3 用戶

    在以后會加入普通用戶注冊實現所與人都能發布的功能: 具有訪客權限,并可以發布、編輯和刪除自己的博客文章,以及對其他文章發表評論。

    **目前只決定給用戶增加注冊和評論的功能。**以后可能會開聊天室,但不太可能會給用戶太多權限。

功能需求

3.1 用戶認證

- 允許用戶注冊賬戶,并提供登錄功能。3.2 博客文章管理- 只有管理員用戶可以發布、編輯和刪除自己的博客文章。- 所有用戶可以查看博客文章列表,按時間或其他標準排序。3.3 評論系統- 注冊用戶可以對博客文章發表評論。- 用戶可以回復評論。3.4 用戶管理- 管理員可以查看和管理所有用戶。- 管理員可以禁用或刪除用戶賬戶。3.5 高級搜索和過濾- 允許用戶通過關鍵字或其他標準搜索博客文章。3.6 用戶設置- 注冊用戶可以編輯個人資料,包括頭像、用戶名等。3.7 管理員設置- 管理員可以對博客內容進行增加修改和刪除。

技術要求

4.1 后端

使用gin+gorm+mysql編寫后端服務。

  • 使用數據庫MySQL存儲用戶信息、博客文章和評論。
    • 使用適當的ORM庫(例如gorm)進行數據庫交互。
    • 實現RESTful API,用于前端與后端的通信。

4.2 前端 - 使用React、Vue.js或Angular等現代前端框架。 - 與后端通過API進行通信。 - 實現用戶友好的用戶界面。(未來的計劃)

(初版仍然是前后端不分離網站,基于tmpl模板制作)

在之后也會持續更新,希望未來能加入的功能:音樂放映廳,聊天室,對接ai模型api,對接新聞模塊,等,希望有生之年能看到第10版;

由于demo的存在是必要的,所以先從最初的V0版本做起;

目前的

計劃是V0版本把大的框架拉起來,

image-20231202193619304

V0版本構想

由于需要demo的存在,畢竟是需要有部分的試錯的,所以先從最初的V0版本做起;

目前的計劃是V0版本把大的框架拉起來,先不在乎細節和安全,先實現功能;

?

image-20231202193828452

IMG_20231202_193737
image-20231202194045280,應該可以包攬mvc架構的全部模塊,不過前期有些不會用到。按照網上流傳的項目框架制作image-20231202201714103

目前計劃前期功能和頁面總覽

管理員登錄頁面(已基本完成):

image-20231202194344236

登陸后進入后臺主頁面,前端主頁計劃采用

左側菜單,右側內容的布局,使用iframe結構

這種布局多見于系統后臺管理,基本分為三部分,即頂部標、左側菜單、右側內容。 基本功能是點擊左側菜單,右側內容轉到相應的界面。點擊頂部logo回到首頁。

image-20231202195239874

預期效果

image-20231202195408002

image-20231202195516405

目前我這一頁實現了點擊博客標題,會在右側刷新博客內容的功能;


第三頁,點擊右上角進入管理員登陸,輸入后進入后臺可以進行對博客,用戶,評論的增刪改查功能;

image-20231203114242231

  1. image-20231203114320095

    # 普通用戶流程1. 用戶進入主頁
    2. 用戶點擊分類
    3. 用戶進入詳情頁
    4. 用戶點擊詳細博客名
    5. 右側渲染博客內容
    6. 用戶下拉
    7. 用戶點擊評論
    8. 如果用戶未注冊:a. 進行用戶注冊b. 注冊后,用戶可以發送評論# 管理員流程1. 管理員進入主頁
    2. 管理員點擊右上角登錄管理后臺
    3. 管理員登錄后,可以進行以下操作:a. 對博客進行增刪改查b. 對用戶進行增刪改查c. 對評論進行增刪改查
    

    這是最基礎的功能,最晚預計在閉組之前完成,時間充足會增加更多功能;

代碼整體實現框架

:經過了一周的艱苦奮斗,項目總算是得以使用(功能基本完全)

現在,稍微講述一下基本功能的實現

image-20231209084027993

image-20231209084041388

image-20231209084109263

先分模塊講解如何制作,首先是登陸界面制作,

待更新。。。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/212717.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/212717.shtml
英文地址,請注明出處:http://en.pswp.cn/news/212717.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

組件之間傳值

目錄 1:組件中的關系 2:父向子傳值 3:子組件向父組件共享數據 4:兄弟組件數據共享 1:組件中的關系 在項目中使用到的組件關系最常用兩種是,父子關系,兄弟關系 例如A組件使用B組件或者C組件…

深入了解UDP協議:特點、應用場景及市面上常見軟件案例

目錄 引言 UDP的特點 UDP的應用場景 市面上使用UDP的軟件案例 結論 引言 在計算機網絡中,UDP(User Datagram Protocol)是一種面向無連接、無狀態的傳輸層協議。與TCP相比,UDP具有獨特的特點和適用場景。本文將深入探討UDP協…

解碼方法dp

1.狀態表示 2.狀態轉移方程 3.初始化 4.填表順序 從左往右 5.返回值 dp[n-1] 6.處理邊界問題以及初始化問題的技巧

Docker筆記:數據卷掛載的三種方式及物理機與容器內的環境變量的傳遞

容器數據掛載到物理機上的三種方式 1 ) 實名(指定路徑)掛載數據卷 docker run -v 物理機目錄:容器內目錄 鏡像id示例 docker run -it -d --name mynginx_p_v -p 82:80 -v /root/www:/usr/share/nginx/html nginx此時訪問 會報 403 forbidden因為 物理機上的 root/…

Electron[5] 渲染進程和主進程

1 進程 Electron里頭的進程分為渲染進程和主進程。簡單理解: main.js就是主進程每個頁面就是渲染進程一個Electron應用僅有一個主進程,可以有多個渲染進程 上面的這些概念很重要,不展開細講。 2 進程職責 主進程是用來實現應用的基礎功能…

【小沐學Python】Python實現TTS文本轉語音(speech、pyttsx3、百度AI)

文章目錄 1、簡介2、Windows語音2.1 簡介2.2 安裝2.3 代碼 3、pyttsx33.1 簡介3.2 安裝3.3 代碼 4、ggts4.1 簡介4.2 安裝4.3 代碼 5、SAPI6、SpeechLib7、百度AI8、百度飛槳結語 1、簡介 TTS(Text To Speech) 譯為從文本到語音,TTS是人工智能AI的一個模組&#xf…

K8S學習指南(6)-k8s核心概念label和label selector

文章目錄 前言Label是什么?示例 Label Selector是什么?示例 Label的使用場景Label Selector的類型Label和Label Selector的高級應用使用Label Selector選擇Service的后端Pod使用Label Selector進行滾動更新 總結 前言 Kubernetes是一個強大的容器編排平…

Python從入門到精通

一、Python基礎語法 1、字面量 掌握字面量的含義了解常見的字面量類型基于print語句完成各類字面量的輸出 什么是字面量? 字面量:在代碼中,被寫下來的的固定的值,稱之為字面量 常用的值類型 Python中常用的有6種值&#xff…

MyBatis 四大核心組件之 ResultSetHandler 源碼解析

🚀 作者主頁: 有來技術 🔥 開源項目: youlai-mall 🍃 vue3-element-admin 🍃 youlai-boot 🌺 倉庫主頁: Gitee 💫 Github 💫 GitCode 💖 歡迎點贊…

MyBatis動態SQL(Dynamic SQL)

Mybatis框架的動態SQL技術是一種根據特定條件動態拼裝SQL語句的功能,它存在的意義是為了解決拼接SQL語句字符串時的痛點問題。 實際開發中可以通過以下幾種標簽進行動態SQL拼接。 1 if標簽 根據test屬性所對應的表達式計算結果決定標簽中的內容是否拼接到sql中。 …

基于SpringBoot+JSP+Mysql寵物領養網站+協同過濾算法推薦寵物(Java畢業設計)

大家好,我是DeBug,很高興你能來閱讀!作為一名熱愛編程的程序員,我希望通過這些教學筆記與大家分享我的編程經驗和知識。在這里,我將會結合實際項目經驗,分享編程技巧、最佳實踐以及解決問題的方法。無論你是…

《C++新經典設計模式》之第15章 適配器模式

《C新經典設計模式》之第15章 適配器模式 適配器模式.cpp 適配器模式.cpp #include <iostream> #include <vector> #include <string> #include <fstream> #include <memory> using namespace std;// 解決兩個類之間的兼容性問題 // 轉換接口調…

ffmpeg6.0之ffprobe.c源碼分析二-核心功能源碼分析

本篇我們繼續分析: 1、ffprobe -show_packets 參數的處理流程;2、ffprobe -show_frames 參數的處理流程;3、ffprobe -show_streams 參數的處理流程;4、ffprobe -show_format 參數的處理流程; 因為前面的文章已經回顧了這些命令的使用,以及作用。本文就不在贅述,以免篇幅…

《妙趣橫生的算法》(C語言實現)- 第5章 數學趣題(一)

《妙趣橫生的算法》&#xff08;C語言實現&#xff09;-第5章 數學趣題&#xff08;一&#xff09; 提示&#xff1a;這里可以添加系列文章的所有文章的目錄&#xff0c;目錄需要自己手動添加 例如&#xff1a;第一章 Python 機器學習入門之pandas的使用 提示&#xff1a;寫完文…

“新華三杯”第十屆成都信息工程大學ACM程序設計競賽(同步賽)L. 怎么走啊(最短路+二分 分段函數)

題目 登錄—專業IT筆試面試備考平臺_牛客網 思路來源 衡陽師范學院ac代碼、pj學弟 題解 大致可以證明&#xff0c;在w從1e5減小到1的過程中&#xff0c; 之前某條反向邊沒有用到&#xff0c;現在需要用到反向邊&#xff0c;也就是正向邊用到的變少了 這樣的變化有sqrt個&a…

分層網絡模型(OSI、TCP/IP)及對應的網絡協議

OSI七層網絡模型 OSI&#xff08;Open System Interconnect&#xff09;&#xff0c;即開放式系統互連參考模型&#xff0c; 一般都叫OSI參考模型&#xff0c;是ISO組織于1985年研究的網絡互連模型。OSI是分層的體系結構&#xff0c;每一層是一個模塊&#xff0c;用于完成某種功…

服務器GPU占用,kill -9 PID 用不了,解決辦法

PID&#xff08;progress ID 進程ID&#xff09; 上圖為占用情況&#xff0c;使用下面的指令都不管用 kill -9 PID kill -15 PID # 加入sudo 還是不行 # 等等網上的 chatgpt 提供的其他辦法&#xff0c;一圈試了下來還是不管用最后解決辦法 首先用下面的指令查看進程的樹結構…

【Hexo】自動在中英文之間添加空格

本文首發于 ??慕雪的寒舍 如題&#xff0c;中英文添加空格是比較規范的寫法&#xff0c; 但是我個人實在是懶&#xff0c;每次都要這么弄太累了。想找找hexo有沒有對應的插件&#xff0c;還是有的 npm install hexo-filter-auto-spacing --save安裝了之后&#xff0c;在hexo的…

〖大前端 - 基礎入門三大核心之JS篇?〗- 面向對象之對象的方法、遍歷、深淺克隆

說明&#xff1a;該文屬于 大前端全棧架構白寶書專欄&#xff0c;目前階段免費&#xff0c;如需要項目實戰或者是體系化資源&#xff0c;文末名片加V&#xff01;作者&#xff1a;哈哥撩編程&#xff0c;十余年工作經驗, 從事過全棧研發、產品經理等工作&#xff0c;目前在公司…

iOS使用CoreText完成txt閱讀器

CoreText是一個高效處理字符和字形轉換和進行文字排版的框架&#xff0c;API基于C語言。 常見的CoreText類介紹 &#xff08;1&#xff09;、CFAttributedStringRef 屬性字符串&#xff0c;用于存儲需要繪制的文字字符和字符屬性 &#xff08;2&#xff09;、CTFramesetterR…