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版本把大的框架拉起来,

V0版本构想

由于需要demo的存在,毕竟是需要有部分的试错的,所以先从最初的V0版本做起;

目前的计划是V0版本把大的框架拉起来,先不在乎细节和安全,先实现功能;


,应该可以包揽mvc架构的全部模块,不过前期有些不会用到。按照网上流传的项目框架制作

目前计划前期功能和页面总览

管理员登录页面(已基本完成):

登陆后进入后台主页面,前端主页计划采用

左侧菜单,右侧内容的布局,使用iframe结构

这种布局多见于系统后台管理,基本分为三部分,即顶部标、左侧菜单、右侧内容。 基本功能是点击左侧菜单,右侧内容转到相应的界面。点击顶部logo回到首页。

预期效果

目前我这一页实现了点击博客标题,会在右侧刷新博客内容的功能;


第三页,点击右上角进入管理员登陆,输入后进入后台可以进行对博客,用户,评论的增删改查功能;

  1. # 普通用户流程
    
    1. 用户进入主页
    2. 用户点击分类
    3. 用户进入详情页
    4. 用户点击详细博客名
    5. 右侧渲染博客内容
    6. 用户下拉
    7. 用户点击评论
    8. 如果用户未注册:
       a. 进行用户注册
       b. 注册后,用户可以发送评论
    
    # 管理员流程
    
    1. 管理员进入主页
    2. 管理员点击右上角登录管理后台
    3. 管理员登录后,可以进行以下操作:
       a. 对博客进行增删改查
       b. 对用户进行增删改查
       c. 对评论进行增删改查
    

    这是最基础的功能,最晚预计在闭组之前完成,时间充足会增加更多功能;

代码整体实现框架

:经过了一周的艰苦奋斗,项目总算是得以使用(功能基本完全)

现在,稍微讲述一下基本功能的实现

先分模块讲解如何制作,首先是登陆界面制作,

待更新。。。

相关推荐
diemeng11191 小时前
AI前端开发技能变革时代:效率与创新的新范式
前端·人工智能
qq_529835351 小时前
对计算机中缓存的理解和使用Redis作为缓存
数据库·redis·缓存
bin91533 小时前
DeepSeek 助力 Vue 开发:打造丝滑的复制到剪贴板(Copy to Clipboard)
前端·javascript·vue.js·ecmascript·deepseek
勤奋的凯尔森同学3 小时前
webmin配置终端显示样式,模仿UbuntuDesktop终端
linux·运维·服务器·ubuntu·webmin
月光水岸New3 小时前
Ubuntu 中建的mysql数据库使用Navicat for MySQL连接不上
数据库·mysql·ubuntu
狄加山6753 小时前
数据库基础1
数据库
我爱松子鱼3 小时前
mysql之规则优化器RBO
数据库·mysql
闲猫3 小时前
go orm GORM
开发语言·后端·golang
丁卯4044 小时前
Go语言中使用viper绑定结构体和yaml文件信息时,标签的使用
服务器·后端·golang
chengooooooo4 小时前
苍穹外卖day8 地址上传 用户下单 订单支付
java·服务器·数据库