# MyLog **Repository Path**: bit-01/MyLog ## Basic Information - **Project Name**: MyLog - **Description**: 一个社交生活记录网站 - **Primary Language**: JavaScript - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: https://sicau.xyz/ - **GVP Project**: No ## Statistics - **Stars**: 8 - **Forks**: 0 - **Created**: 2022-10-07 - **Last Updated**: 2025-02-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: Vue, Element-UI, JavaScript, HTML, Pinia ## README # MyLog 一个社交生活记录网站 网站地址 https://mylog.cool ## 概述 用户设备含有大量离散数据,如手机里大量图片、笔记软件里繁杂的若干记录、通信软件里各种聊天记录,这造成了查找检索数据的困难,用户会浪费大量的时间精力在海量信息中。 本项目致力于将各种类型的相关数据进行组织管理,数据既源于用户,也源于网络社交平台,使用户可以随时随地记录生活中发生的事,并在日后轻松得查找和回忆。 ## 实现 技术上,本项目前端基于Web开发,主要研究HTML页面设计和前端数据收发,以及相应的主流技术Vue、Java Script相关库等,以及互联网大厂API的应用。后端基于Spring Boot开发,研究数据持久化、存取接口、数据库设计与操作,以及前后端大文件数据的传输,研究Linux上各种服务的部署和运维。 后端代码请跳转:https://gitee.com/bit-01/my-log-backend 功能上,使用Vue3将各个功能模块化,各个模块研究内容具体包括: - 资讯功能:研究各个平台的页面构成和所需提取的数据,研究其反爬虫机制和相关法律。编写Python爬虫代码,学习相关库,模拟真人操作对所需信息进行提取和上传服务器。 - 记录功能:主要研究在C/S模式下数据的传输,以及对大量不同类型数据的组织和管理,并且研究查找、筛选、分享和共同编辑功能的设计和实现。数据传输方面主要研究大文件数据的上传和接收、断点续传以及文件的存储和带宽的最有效利用。对数据表的结构和存取方式进行设计。 - 人际功能:主要研究人际关系的数据描述、展示以及存储。后端研究人际关系网络的逻辑结构和物理结构。前端研究如何解析人际数据,并使用相应的图形化库去展示。研究对人员的操作和对人际关系网的相关算法的研究和实现。 ## 部署 部署两种服务器分别处理前后端请求,真正实现前后端分离,便于维护。 - 后端:使用Spring Boot 实现后端接口,用MyBatis Plus连接MySQL数据库。使用部署SSL证书的8080端口,接口格式为:板块/功能,全部采用Post方式,如查询博客分类条数接口即:https://mylog.cool:8080/blog/count。 - 前端:使用Vue3将功能组件化,页面间用路由方式跳转,加快切换且减少资源的重复请求。页面采用Nginx部署,同样使用部署SSL证书的443端口,提供在传输过程中的保密服务,若浏览器默认访问80端口后自动重定向到433端口,前端直接上传文件到文件服务器,只返回链接给后端记录。 - 数据持久化:使用MySQL数据库存储文本数据的记录,开启binlog,并定时备份数据表,保证用户误操作后可恢复数据。繁杂数据(如人际中人员的自定义信息项)转为JSON字符串存入字段,既加快数据传输,也简化业务层代码。图片视频等大文件数据采用腾讯云对象服务器存储,MySQL数据库中只存入其文件链接。