Skip to content

自学go使用gin框架搭建一个基础的博客

Notifications You must be signed in to change notification settings

dark-Qy/gin_blog

Repository files navigation

本项目仅为个人用于练手的Gin+React项目,项目存在许多不完善的地方,仅供参考。 主要技术栈:Gin,React,Gorm,Mysql

项目主题:个人博客系统

基础要求

  • 功能:用户可以创建、阅读、编辑和删除博客文章。
  • 界面:简洁的用户界面,支持文章的展示和基本的操作界面(如新增、编辑、删除文章)。
  • 数据存储:文章信息持久化存储。

扩展功能

  • 用户认证:实现用户注册、登录和注销功能。只有登录用户才能创建、编辑和删除文章。
  • 评论系统:允许读者在文章下留言评论,并展示评论列表。
  • 标签系统:为文章添加标签,支持按标签搜索文章。
  • 搜索功能:支持根据文章标题或内容进行搜索。

可能使用的相关技术

  • Web框架:选择一个Go的Web框架,如GinEcho,用于处理HTTP请求和路由。
  • 模板引擎:使用html/template(Go标准库)或选定Web框架自带的模板引擎,用于生成动态HTML页面。
  • 数据库:选择SQLite, MySQL, 或 PostgreSQL等数据库进行数据持久化存储。你可能会用到database/sql标准库或第三方ORM库(如gorm)来操作数据库。
  • 用户认证:考虑使用JWT(JSON Web Tokens)实现认证机制。
  • 静态文件服务:提供CSS、JavaScript和图片等静态资源的服务。
  • 中间件:使用或自定义中间件处理跨站请求伪造(CSRF)、日志记录、用户认证等。

项目实施步骤

  1. 规划项目结构:在开始编码前,规划好项目的目录结构,比如模型(models)、视图(views)、控制器(controllers)、服务(services)等。
  2. 搭建基础Web服务:选择一个Web框架并搭建一个基本的Web服务。
  3. 实现基础功能:按照基础要求实现功能,逐步构建和测试每一个功能。
  4. 逐步添加扩展功能:在基础功能稳定后,根据你的兴趣和时间,逐步尝试添加扩展功能。
  5. 测试和优化:在开发过程中不断测试,确保功能的正确性和性能的优化。
  6. 部署:考虑将你的应用部署到一个服务器上,使之可以被公开访问。可以使用云服务提供商,如Heroku、DigitalOcean等。

开发流程:

开发周期:6天,4.1完成功能交付。

3.27

  • 完成任务安排和大致流程规划
  • 模型设计:用户、文章、评论
  • 路由设计

3.28

  • 创建数据库,将用户信息用数据库存储起来,博客的正文信息在数据库中存储,用text形式。
  • 实现用户信息的注册、登录、注销功能。

3.29

  • 新增JWT认证功能
  • 实现文章的创建、编辑和删除功能。文章的编辑可以先用文本框替代,然后直接以文本展示。
  • 实现文章的标签功能

3.31

  • 新增用户的留言评论功能(新增、删除评论)

4.1

  • 新增文章的搜索功能(包括标签过滤和根据关键词搜索)
  • 完成配置信息等相关内容的重构

About

自学go使用gin框架搭建一个基础的博客

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published