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.mzph.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.处理边界问题以及初始化问题的技巧

【小沐学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…

Python从入门到精通

一、Python基础语法 1、字面量 掌握字面量的含义了解常见的字面量类型基于print语句完成各类字面量的输出 什么是字面量? 字面量:在代码中,被写下来的的固定的值,称之为字面量 常用的值类型 Python中常用的有6种值&#xff…

MyBatis 四大核心组件之 ResultSetHandler 源码解析

🚀 作者主页: 有来技术 🔥 开源项目: youlai-mall 🍃 vue3-element-admin 🍃 youlai-boot 🌺 仓库主页: Gitee 💫 Github 💫 GitCode 💖 欢迎点赞…

基于SpringBoot+JSP+Mysql宠物领养网站+协同过滤算法推荐宠物(Java毕业设计)

大家好,我是DeBug,很高兴你能来阅读!作为一名热爱编程的程序员,我希望通过这些教学笔记与大家分享我的编程经验和知识。在这里,我将会结合实际项目经验,分享编程技巧、最佳实践以及解决问题的方法。无论你是…

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

本篇我们继续分析: 1、ffprobe -show_packets 参数的处理流程;2、ffprobe -show_frames 参数的处理流程;3、ffprobe -show_streams 参数的处理流程;4、ffprobe -show_format 参数的处理流程; 因为前面的文章已经回顾了这些命令的使用,以及作用。本文就不在赘述,以免篇幅…

“新华三杯”第十届成都信息工程大学ACM程序设计竞赛(同步赛)L. 怎么走啊(最短路+二分 分段函数)

题目 登录—专业IT笔试面试备考平台_牛客网 思路来源 衡阳师范学院ac代码、pj学弟 题解 大致可以证明,在w从1e5减小到1的过程中, 之前某条反向边没有用到,现在需要用到反向边,也就是正向边用到的变少了 这样的变化有sqrt个&a…

分层网络模型(OSI、TCP/IP)及对应的网络协议

OSI七层网络模型 OSI(Open System Interconnect),即开放式系统互连参考模型, 一般都叫OSI参考模型,是ISO组织于1985年研究的网络互连模型。OSI是分层的体系结构,每一层是一个模块,用于完成某种功…

服务器GPU占用,kill -9 PID 用不了,解决办法

PID(progress ID 进程ID) 上图为占用情况,使用下面的指令都不管用 kill -9 PID kill -15 PID # 加入sudo 还是不行 # 等等网上的 chatgpt 提供的其他办法,一圈试了下来还是不管用最后解决办法 首先用下面的指令查看进程的树结构…

【Hexo】自动在中英文之间添加空格

本文首发于 ❄️慕雪的寒舍 如题,中英文添加空格是比较规范的写法, 但是我个人实在是懒,每次都要这么弄太累了。想找找hexo有没有对应的插件,还是有的 npm install hexo-filter-auto-spacing --save安装了之后,在hexo的…

〖大前端 - 基础入门三大核心之JS篇㊿〗- 面向对象之对象的方法、遍历、深浅克隆

说明:该文属于 大前端全栈架构白宝书专栏,目前阶段免费,如需要项目实战或者是体系化资源,文末名片加V!作者:哈哥撩编程,十余年工作经验, 从事过全栈研发、产品经理等工作,目前在公司…

iOS使用CoreText完成txt阅读器

CoreText是一个高效处理字符和字形转换和进行文字排版的框架,API基于C语言。 常见的CoreText类介绍 (1)、CFAttributedStringRef 属性字符串,用于存储需要绘制的文字字符和字符属性 (2)、CTFramesetterR…

JVM 内存分析工具 Memory Analyzer Tool(MAT)的深度讲解

目录 一. 前言 二. MAT 使用场景及主要解决问题 三. MAT 基础概念 3.1. Heap Dump 3.2. Shallow Heap 3.3. Retained Set 3.4. Retained Heap 3.5. Dominator Tree 3.6. OQL 3.7. references 四. MAT 功能概述 4.1. 内存分布 4.2. 对象间依赖 4.3. 对象状态 4.4…

鸿蒙前端开发-构建第一个ArkTS应用(Stage模型)

创建ArkTS工程 若首次打开DevEco Studio,请点击Create Project创建工程。如果已经打开了一个工程,请在菜单栏选择File > New > Create Project来创建一个新工程。 选择Application应用开发(本文以应用开发为例,Atomic Serv…

docker-compose安装教程

1.确认docker-compose是否安装 docker-compose -v如上图所示表示未安装,需要安装。 如上图所示表示已经安装,不需要再安装,如果觉得版本低想升级,也可以继续安装。 2.离线安装 下载docker-compose安装包,上传到服务…

人工智能原理复习--机器学习

文章目录 上一篇机器学习概述归纳(示例)学习ID3决策树算法K近邻算法下一篇 上一篇 人工智能原理复习–搜索策略(二) 机器学习概述 学习系统的基本结构: #mermaid-svg-JMjIZHjVOirLolvu {font-family:"trebuchet ms",verdana,ari…

辨析旅行商问题(TSP)与车辆路径问题(VRP)

目录 前言旅行商问题 (TSP)问题介绍数学模型符号定义问题输入约束条件目标函数问题输出 解的空间解空间大小计算解释 车辆路径问题 (VRP)问题介绍TSP到VRP的过渡数学模型符号定义问题输入约束条件优化目标问题输出 解空间特殊情况一般情况 TSP 与 VRP 对比 前言 计划是通过本文…

基于JavaWeb+SSM+Vue助农扶贫微信小程序系统的设计和实现

基于JavaWebSSMVue助农扶贫微信小程序系统的设计和实现 源码获取入口Lun文目录前言主要技术系统设计功能截图 源码获取入口 Lun文目录 目 录 第一章 绪论 1 1.1 研究背景 1 1.2 研究意义 1 1.3 研究内容 2 第二章 开发环境与技术 3 2.1 JSP技术 3 2.2 MySQL数据库 3 2.3 Java…