# UTOPIA **Repository Path**: s030111yr/utopia ## Basic Information - **Project Name**: UTOPIA - **Description**: UTOPIA-交友放松小众网站 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-08-06 - **Last Updated**: 2024-08-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README **介绍** UTOPIA是一个集成式社交网络平台,旨在通过后端服务增强用户间的互动与交流体验。平台集成了用户认证、内容发布、回复机制、多媒体分享、个性化资料管理以及基于标签的通信管理等功能。 主要功能包括提问解答,分享图片,写信回信,交友聊天等。 项目环境包括 Go 1.19.2(编程语言)、CentOS 7.9(操作系统)、Gin(Web 框架)、MySQL(数据库)、HTML, CSS, JavaScript(前端技术)、Postman(其他工具)(用于API测试) **前端效果** ![输入图片说明](%E5%89%8D%E7%AB%AF%E6%95%88%E6%9E%9C/Snipaste_2024-08-06_15-30-13.png) ![输入图片说明](%E5%89%8D%E7%AB%AF%E6%95%88%E6%9E%9C/Snipaste_2024-08-06_15-30-43.png) ![输入图片说明](%E5%89%8D%E7%AB%AF%E6%95%88%E6%9E%9C/Snipaste_2024-08-06_15-31-00.png) ![输入图片说明](%E5%89%8D%E7%AB%AF%E6%95%88%E6%9E%9C/Snipaste_2024-08-07_11-13-34.png) ![输入图片说明](%E5%89%8D%E7%AB%AF%E6%95%88%E6%9E%9C/Snipaste_2024-08-07_10-40-24.png) ![输入图片说明](%E5%89%8D%E7%AB%AF%E6%95%88%E6%9E%9C/Snipaste_2024-08-07_10-41-03.png) ![输入图片说明](%E5%89%8D%E7%AB%AF%E6%95%88%E6%9E%9C/Snipaste_2024-08-07_10-59-47.png) ![输入图片说明](%E5%89%8D%E7%AB%AF%E6%95%88%E6%9E%9C/Snipaste_2024-08-07_10-40-45.png) ![输入图片说明](%E5%89%8D%E7%AB%AF%E6%95%88%E6%9E%9C/Snipaste_2024-08-07_10-46-10.png) ![输入图片说明](%E5%89%8D%E7%AB%AF%E6%95%88%E6%9E%9C/Snipaste_2024-08-07_10-46-23.png) ![输入图片说明](%E5%89%8D%E7%AB%AF%E6%95%88%E6%9E%9C/Snipaste_2024-08-07_10-40-11.png) ![输入图片说明](%E5%89%8D%E7%AB%AF%E6%95%88%E6%9E%9C/Snipaste_2024-08-07_10-42-09.png) ![输入图片说明](%E5%89%8D%E7%AB%AF%E6%95%88%E6%9E%9C/Snipaste_2024-08-07_10-42-29.png) ![输入图片说明](%E5%89%8D%E7%AB%AF%E6%95%88%E6%9E%9C/Snipaste_2024-08-07_10-42-39.png) ![输入图片说明](%E5%89%8D%E7%AB%AF%E6%95%88%E6%9E%9C/Snipaste_2024-08-07_10-42-53.png) ![输入图片说明](%E5%89%8D%E7%AB%AF%E6%95%88%E6%9E%9C/Snipaste_2024-08-07_10-44-41.png) ![输入图片说明](%E5%89%8D%E7%AB%AF%E6%95%88%E6%9E%9C/Snipaste_2024-08-07_10-44-51.png) ![输入图片说明](%E5%89%8D%E7%AB%AF%E6%95%88%E6%9E%9C/Snipaste_2024-08-07_10-45-42.png) ![输入图片说明](%E5%89%8D%E7%AB%AF%E6%95%88%E6%9E%9C/Snipaste_2024-08-07_10-45-54.png) ![输入图片说明](%E5%89%8D%E7%AB%AF%E6%95%88%E6%9E%9C/Snipaste_2024-08-07_10-41-34.png) **主要步骤** 1、环境准备。 部署配置Go语言环境,安装MySQL数据库服务,集成Gin Web框架为HTTP服务基础。 2、构建项目结构。 设计并构建项目的后端架构,明确划分为控制器(controllers)、路由(routes)、模板(templates)、模型(models)、静态资源(static)、配置(config)等模块。 3、数据库设计。 根据业务需求设计数据库模式,包括User(用户)、Post、Reply、Letter、Image等表结构,实现数据库连接池及ORM(对象关系映射)框架以支持数据迁移和版本控制。 4、模型定义。 在Go中定义与数据库表结构相对应的模型(Models),确保数据的一致性和准确性,利用Go的结构体(Structs)和标签(Tags)进行映射。 5、控制器实现。 在控制器层(Controllers)中实现具体的业务逻辑,包括用户注册与登录流程、个人资料管理、帖子发布与回复处理、信箱功能(如信件创建、随机抽取)、图片上传与分享等功能的后端处理。 6、路由配置。 利用Gin框架的路由功能,精确配置RESTful API接口及静态页面路由,确保请求能够正确映射到相应的处理函数。 7、前端页面设计。 采用HTML5、CSS3及JavaScript(可能包括前端框架如React、Vue等)进行前端页面的设计与实现,注重用户体验与交互逻辑,确保与后端服务的无缝对接。 8、主程序入口。 编写程序入口文件,负责加载配置文件、初始化路由、数据库连接等,并启动HTTP服务器,监听指定端口以提供服务。 **待完善部分** 1、由于前端大部分改成使用固定图片作为背景,而且为了美观排版将大部分容器绝对定位,这会导致网站在其他与背景图片尺寸不合的页面上打开时位置挪动,尺寸越不合位置越混乱,目前最正常的效果只能在微软浏览器上看到,但也不排除因电脑尺寸不同导致效果差异。 2、享图界面的图片展示部分,在增加展示图片后,被展示的图片容器宽度会自动减少,会导致排版不美观。 3、部分功能不完善,比如修改删除摊位,修改删除回复,追加回复等。