# lovernest **Repository Path**: peer_less/lovernest ## Basic Information - **Project Name**: lovernest - **Description**: Lovernest 个人情侣网站,该项目为个人情侣网站,用于记录情况之间的日常生活。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2023-11-29 - **Last Updated**: 2023-11-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Lovernest 个人情侣网站 > update: 2021/6/5 oruizn 在线网址:[www.lovernest.cn](http://146.56.250.230) ## 一、项目简介 该项目为个人情侣网站,用于记录情况之间的日常生活,如 - 照片及照片事件简介 - 想对对方说的话 - 女生每天的心情变化 - 每天微信的聊天情况 - 微信恋爱周年报告 - 两人之间发生需要记录的大事件等等。 ![](https://gitee.com/oruizn/lovernest/raw/master/lovernest-web/src/main/resources/picture/image-20210605135113583.png) ![image-20210605140847293](https://gitee.com/oruizn/lovernest/raw/master/lovernest-web/src/main/resources/picture/image-20210605140847293.png) ![image-20210605141811896](https://gitee.com/oruizn/lovernest/raw/master/lovernest-web/src/main/resources/picture/image-20210605141811896.png) ![image-20210605141858373](https://gitee.com/oruizn/lovernest/raw/master/lovernest-web/src/main/resources/picture/image-20210605141858373.png) ![image-20210605140735725](https://gitee.com/oruizn/lovernest/raw/master/lovernest-web/src/main/resources/picture/image-20210605140735725.png) ![image-20210605144558195](https://gitee.com/oruizn/lovernest/raw/master/lovernest-web/src/main/resources/picture/image-20210605144558195.png) ## 二、技术选型 ### 后端 Backend | 项 | 技术 | 备注 | | ------------------ | ----------------------------------- | ---- | | 开发语言 | **Java** (1.8 ) | | | 项目构建与依赖管理 | **Maven 3** | | | MVC | **Spring Boot 2.1.2(多模块方式)** | | | 推荐 IDE | **IntelliJ IDEA** | | | 数据库 | **Postgresql 9.5 / MySQL** | | | ORM(对象关系映射) | **MyBatis** | | | 数据库连接池 | **Alibaba Druid** | | | JSON | **Alibaba FastJSON** | | | 图片压缩 | **Thumbnailator** | | | 自然语言处理 | **ansj_seg + nlp-lang** | | | 测试 | **JUnit + SpringTest** | | | 日志 | **slf4j + log4j 1.2.17** | | | 代码简化 | **lombok** | | ### Web前端 Frontend >     前端全面采用 **Vue.js 2.x** 全家桶。UI采用 **iview 4.x** ,使用 **Webpack 2** 及插件作为项目编译打包工具。Javascript 采用 **ES6** 语法,模块化、组件化(Vue单文件组件)开发。使用Babel-loader(Webpack插件)转换。 > >   CSS采用**SCSS**语法 > >   前端开发需要安装 **NodeJS** ( 12.13.1+)、**NPM** (建议配置淘宝的npm镜像) | 项 | 技术 | 备注 | | -------------- | ------------------------ | ---- | | 全局变量和配置 | **`assets/Constant.js`** | | | 界面UI | **view-design 4.4.0** | | | MVVM | **Vue.js 2.6.11** | | | 图表绘制 | **echarts 5.1.1** | | | 网络通信 | **vue-axios 3.2.0** | | | 弹幕展示 | **vue-baberrage 3.2.4** | | ### 微信小程序 Frontend 详情请见:https://gitee.com/oruizn/wx_lovernest ### 优化加速 - CDN (JS + CSS) - Webpack 工具及插件(开发优化) ## 三、设计 ### 模块结构 - lovernest-dao:数据库操作(Mapper) - lovernest-domain:实体类(POJO、VO) - lovernest-service:业务逻辑 - lovernest-util:工具类 - lovernest-web:web层,提供API接口 - lovernest-frontend:web前端项目,与上述模型无关 #### 系统运行配置文件 1. 后端(`lovernest-web`): - 主配置文件:`src/main/resources/config/dev/application.properties` 2. 前端(`lovernest-frontend`) - 变量:`src/assets/Costant.js` - webpack 自定义配置:`vue.config.js` #### **注意** 1. 由于Spring Boot 内置了Tomcat容器,因此不需要使用开发者自己安装的Tomcat。 ## 四、后台编译运行 ### lovernest(root) 按照maven的lifecycle,对执行下列命令: - `mvn clean`(optional) - `mvn compile`(optional) - `mvn package`(optional) - `mvn install`(**required**) ### 单独模块 后台模块每一次改动,需要重新执行程序运行,否则无法自动更新。 ### 数据库 - 创建两个用于存储相片的文件夹,一个文件夹用于存储原图,一个用于存储压缩后的图片,具体见`lovernest-web/resources/conf/dev/application.properties`中的配置 - 安装 postgresql9.5 及以上版本的数据库 - 数据库模板文件位于 `lovernest-dao/res/main/resource/db_lovernest_20210605.backup` - 数据库用户名和密码、数据库名称使用 `lovernest-web/resources/conf/dev/application.properties`中的配置 ## 五、前端编译运行 ### 使用说明 - 首先通过cd命令,进入lovernest-frontend文件夹 - 开发阶段,第一次时需要执行`npm install` 或`cnpm install`(node安装淘宝镜像之后),然后执行 `npm run serve`。以后开发时只需要运行 `npm run serve`即可 - 修改文件后之间按保存,会自动执行热更新 - 生产部署阶段,即编译源代码、压缩文件后部署到生产服务器(Nginx 或 tomcat)时,才需要根据构建说明中的内容修改并执行`npm run build` ### 构建步骤 命令行中 ``` # 安装依赖 npm install # serve with hot reload at localhost:8090 # 启动服务,支持热加载(修改之后自动编译自动更新,不用刷新页面) # 默认是8080,为避免与tomcat的冲突,进行了修改:8090(config/index.js) npm run serve # build for production with minification # 为生产环境构建并最小化 npm run build # build for production and view the bundle analyzer report # 查看bundle文件分析 npm run build --report ``` ### Constant.js配置说明 - 用于自己的部署前,需要修改后台的请求地址 - 相片切换时间可以由自己定义快慢 ## 六、微信聊天记录提取 ### 使用手机+模拟器方式提取 - 由于无法直接获取个人微信记录,因此,需要用户自己提供。提取方式如下:https://bbs.125.la/thread-14355048-1-1.html,将聊天记录导为csv文件,可以直接通过后台接口上传,上传时后台会自动统计聊天记录条数、时间等,同时记录到数据库中。 ### 直接通过PC端微信提取 **参考方式:** https://bbs.pediy.com/thread-222652.htm(初创) https://bbs.pediy.com/thread-251303.htm(完善)