本项目仅为个人用于练手的Gin+React项目,项目存在许多不完善的地方,仅供参考。 主要技术栈:Gin,React,Gorm,Mysql
- 功能:用户可以创建、阅读、编辑和删除博客文章。
- 界面:简洁的用户界面,支持文章的展示和基本的操作界面(如新增、编辑、删除文章)。
- 数据存储:文章信息持久化存储。
- 用户认证:实现用户注册、登录和注销功能。只有登录用户才能创建、编辑和删除文章。
- 评论系统:允许读者在文章下留言评论,并展示评论列表。
- 标签系统:为文章添加标签,支持按标签搜索文章。
- 搜索功能:支持根据文章标题或内容进行搜索。
- Web框架:选择一个Go的Web框架,如
Gin
或Echo
,用于处理HTTP请求和路由。 - 模板引擎:使用
html/template
(Go标准库)或选定Web框架自带的模板引擎,用于生成动态HTML页面。 - 数据库:选择
SQLite
,MySQL
, 或PostgreSQL
等数据库进行数据持久化存储。你可能会用到database/sql
标准库或第三方ORM库(如gorm
)来操作数据库。 - 用户认证:考虑使用
JWT
(JSON Web Tokens)实现认证机制。 - 静态文件服务:提供CSS、JavaScript和图片等静态资源的服务。
- 中间件:使用或自定义中间件处理跨站请求伪造(CSRF)、日志记录、用户认证等。
- 规划项目结构:在开始编码前,规划好项目的目录结构,比如模型(models)、视图(views)、控制器(controllers)、服务(services)等。
- 搭建基础Web服务:选择一个Web框架并搭建一个基本的Web服务。
- 实现基础功能:按照基础要求实现功能,逐步构建和测试每一个功能。
- 逐步添加扩展功能:在基础功能稳定后,根据你的兴趣和时间,逐步尝试添加扩展功能。
- 测试和优化:在开发过程中不断测试,确保功能的正确性和性能的优化。
- 部署:考虑将你的应用部署到一个服务器上,使之可以被公开访问。可以使用云服务提供商,如Heroku、DigitalOcean等。
开发流程:
开发周期:6天,4.1完成功能交付。
3.27
- 完成任务安排和大致流程规划
- 模型设计:用户、文章、评论
- 路由设计
3.28
- 创建数据库,将用户信息用数据库存储起来,博客的正文信息在数据库中存储,用text形式。
- 实现用户信息的注册、登录、注销功能。
3.29
- 新增JWT认证功能
- 实现文章的创建、编辑和删除功能。文章的编辑可以先用文本框替代,然后直接以文本展示。
- 实现文章的标签功能
3.31
- 新增用户的留言评论功能(新增、删除评论)
4.1
- 新增文章的搜索功能(包括标签过滤和根据关键词搜索)
- 完成配置信息等相关内容的重构