【Log】大三的最后一个项目,所以我到底是不是恋爱脑?

news2024/12/22 13:49:27

文章目录

  • 梦开始的地方
  • 核心功能
    • 恋爱相册(LoveAlbum)
    • 恋爱日志(LoveLogs)
    • 爱情邮局(LovePostOffice)
    • 时间线(TimeLine)
    • 待办列表(LoveList)
  • 技术栈

梦开始的地方

Ok,这是我在大三下学期写下的文字。
目前已经找到了杭州和北京的几家还不错的公司的实习,最近也没有说继续学习新技术,都在刷算法,毕竟冲击大厂的第一步可能就是算法啦,现在每天都在经历被LeetCode中等题暴打的痛苦哈哈哈。
之所以说是最后一个项目是因为,这个项目的完成时间确实就是大三这学期结束的时间点,并且也基于已经找到工作,不需要说继续去学习网络上的项目了,只需要等着进公司继续精进自己咯。

所以这个项目到底是什么?

这个项目很简单,就是一个给情侣用来记录恋爱生活的网站,同时这个网站也会每天定时定点的给伴侣发送电子邮件。是一个toC的项目,用户登录之后可以绑定和邀请自己的另一半来访问这个网站。
网站的首页UI如下:
在这里插入图片描述
网站可以上传用户与另一半的日志信息
在这里插入图片描述
也可以编写电子邮件信息,点击Love Email图标就可以编写恋爱短信咯
数据库大概保存如下信息
然后配合XXL-JOB就可以实现每天定时定点的邮件发送功能了。
在这里插入图片描述

在这里插入图片描述
当然,项目还有一些其他花里胡哨的功能,比如时间线,代办日志等(toC产品没有UI是真不行哈哈哈哈,一群大男孩实在设计不来,唯一一个女生也是产品经理T T)

现在从0开始介绍!

Hello,Hello,我是张锦标(ZBlossom),这个项目的产品经理(笑称)和Leader。负责这个项目的功能设计,代码架构搭建。
现在正式开始介绍这个项目吧。
结合当时我的技术栈,当时已经学完了比较主流的技术栈了,SpringBoot+SpringCloud,其中SpringCloud下面的SpringCloudAlibaba提供了一个注册中心兼配置中心的Nacos组件,基于Nacos,我可以动态的变更配置内容,所以说干就干,就有了这个基于SpringCloud的微服务项目。
项目最初的版本是只允许我使用Nacos去修改内容的,那么每当我想要给其他人在某个时间点发送某些内容的时候,我就得上去配置中心去修改一下,大概当时的情况如下:
在这里插入图片描述

这样子确实是实现了我能随心的修改发送短信的时间和内容,但是总有点说不上来的麻烦吧。并且,我当初买的服务器是新人特惠,特别便宜,这意味着开一个Nacos和跑一下这个项目,Nacos可能动不动就下机了,所以我经历了一天要开好几次Nacos的痛苦,所以就想着,能不能好好的优化一下,使用数据库去存储任务,然后通过网页的方式去修改一下内容呢?
于是我就拉来了我的兄弟们,我们一起开始策划这个项目。
我们都是技术热爱者,所以想着,其实这个项目如果只是给自己用的话,那自然非常简单就能实现我们想要的功能,但是我们希望这个项目也能让更多的人去以特殊的,自己的方式来表达自己对在乎的人的关心与爱,所以,我们不单单只是简单的打算设计一个小demo,而是希望这个项目能做到功能尽可能完善,同时我们会开源出来代码,因此,我们会尽可能的保证项目的开发符合(我们自认为的)规范。
同时项目会尽可能使用到比较主流的技术栈,来帮助一些新人Java朋友学习Java。
如果你也对这个项目有兴趣,可以添加我的联系方式来加入我们:
Github地址:Towelove项目地址
项目简易文档(未更新):项目文档地址
当然,我们的完整文档,技术解决方式,Bug解决方式,都写在语雀里了,不过没开放(因为要米!!哈哈哈)
在这里插入图片描述
那么标题为什么说我是不是恋爱脑呢?
因为,我自掏腰包找了个前端帮我写前端代码哈哈哈,我就是想看到我的执念上线的样子。

核心功能

恋爱相册(LoveAlbum)

恋爱相册需要绑定情侣关系的两人才能开启,当当前用户并没有绑定情侣关系的时候,只能查看到我们设定的预览的功能,而不能真的去使用这个功能。只有当前用户邀请或者绑定了另一半之后,才能真的开启恋爱相册这个功能。
在这里插入图片描述

同时恋爱相册由于设计的时候绑定了两个人的信息,所以,我们后面的很多业务逻辑都依赖于恋爱相册这个表。
比如,当我们的用户登录之后,我们会从数据库中查询出来其在恋爱相册中对应的伴侣的userId,然后根据这个userId我们会查询出来当前用户对应的伴侣的信息,那么此时就可以完成两个伴侣的头像和数据的展示了。

恋爱日志(LoveLogs)

当当前用户成功的开通恋爱日志之后,就可以在恋爱日志里面放上内容了。
大概情况如下
在这里插入图片描述

点击加号就可以发布日志内容了,日志内容中要求填写日志时间,标题,要上传的图片等信息。

爱情邮局(LovePostOffice)

上文讲过,要开通恋爱相册需要绑定另一半,那么此时就需要一个功能来邀请另一半。
我们分为了如下两种情况:
第一种情况:
如果当前用户还没有注册,那么我们要求当前已经注册的用户填写被邀请用户的电子邮箱,我们将会发送一个官方邮件给这位用户来邀请TA注册项目,并且此时TA可以填写邮件中的邀请码来直接在完成注册功能后直接绑定TA的伴侣。
第二种情况:
当前被邀请的用户已经注册了,那么此时我们就需要要求发送邀请的用户发送一个项目内的邮件到另一半的邮箱里,然后只需要被邀请的另一半同意这个请求即可。
此时我们提供了二选一的方案,如果知道被邀请用户的邮箱,那么输入邮箱后我们会发送电子邮件给受邀用户,而如果输入的是用户的用户名,那么我们会根据用户名来找到指定用户并且进行发送。
这里如果使用的是用户名查询,那么我们会在用户输入完毕用户名之后,然后在输入框下面展示用户头像,来确保你没有邀请错误人。
为了确保不出现不良情况,我们确保了只要这一次的邀请没有被同意或者拒绝,这名用户都不能再一次的邀请另一名情侣(多渣呀)。
同时当另一半解除关系时,我们也会通过这个邮局来发送消息。
系统的各种消息都会发送到这个邮局里,请注意查收哦。

时间线(TimeLine)

这个功能记录的是两个人在恋爱过程中发生的比较重大的时间,大概样式如下,用于记录某一天发生了什么事情。
在这里插入图片描述

待办列表(LoveList)

待办列表就是用于记录两个人在一起希望能一起做的事情。
当完成了待办列表的时候,就可以上传图片了。
在这里插入图片描述
到此为止就是这个项目和情侣有关的部分的功能啦。
登录注册等各种基本流程全都完成了,这个项目是可以直接运行并且使用的哦。

技术栈

SpringBoot 2.7.7
SpringCloud 2021.0.5
SpringCloudAlibaba 2021.0.4
RocketMQ 4.9.4(代码保留,但是废弃)
Nacos 2.0.4
MySQL 8.0.32
Redis 6.0.16
XXL-JOB 2.2.0
使用这个项目需要配置的东西可能算多也不多,Nacos,XXL-JOB,Redis,MySQL都是需要的。
如果你真的打算使用这个项目,或者希望能在你自己的电脑跑起来,那么可以找我要一份配置文件。(当然,不如直接join me 哈哈哈)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/611964.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

STM32单片机WIFI智能语音家居窗户窗帘空调灯控制系统OLED显示

实践制作DIY- GC0139-WIFI智能语音家居窗户窗帘空调灯控制系统 基于STM32单片机设计---WIFI智能语音家居窗户窗帘空调灯控制系统 二、功能介绍: 件组成:stm32103 系列单片机,OLED 显示屏模块,语音识别模块,DTH11温湿度…

掌握了这些技术后,才发现进大厂,也没有那么难...

为了帮助大家快速回顾学习软件测试中的知识点:这套学习笔记,面试手册是由多位一线大牛老师联手打造3个月制作而成,几乎涵盖了所有的软件测试技术栈。掌握它们才发现进大厂,也没有那么难 全网首发!非常珍贵&#xff0c…

控制算法工程师的工作职责(合集)

控制算法工程师的工作职责1 职责: 1、准确地控制密闭容器的气体或液体的压力,以供校准其他压力表使用; 2、准确地控制温度场的精度,以供校准其他温度计使用; 3、根据不同的控制方案和执行机构/加热制冷方式;测试其特性、建立数学模型、设计算…

运维小白必学篇之基础篇第十五集:FTP实验

FTP实验 实验者:胡 阳 匿名用户验证: 例:(前提配置,防火墙关闭,yum安装,同模式vmware11) 现有一台计算机huyanggw(视作服务端),IP地址为192.1…

仙境传说RO:添加商店物品教程

仙境传说RO:添加商店物品教程 我是艾西,今天跟大家分享下仙境传说RO游戏中我们自己怎么创建商店卖东西装备等,首先看看下图以及自己创建商店时需要在文档里创建的脚本格式 //*------------------shop普通商店------------------ //带坐标的…

介绍如何使用反向传播的 CNN 接受场计算以及代码讲解

在上一篇文章中,我们学习了如何对任意大小的图像进行分类并可视化网络的响应图。 图 1:“骆驼”类激活的边界框。 在图 1 中,请注意骆驼的头部几乎没有突出显示,响应贴图包含大量沙子纹理。边界框也明显关闭。 有些事情是不对的。 我们使用的 ResNet18 网络非常准确,实…

win11系统内存完整性不兼容驱动程序查找删除教程

近期很多用户都对进行了升级更新,但是出现了很多不兼容的情况,导致内存完整性关闭了,想要开启就需要删除不兼容的驱动程序,关于这个问题,我就来分享查找和删除的方法,希望能够帮助到更多的用户。 当您考虑…

数字工厂解决方案,先进的数字工厂怎么建立?

2023年5月23日,国家市场监督管理总局(国家标准化管理委员会)发布2023年第2号中华人民共和国国家标准公告:批准GB/T 42562-2023《工业互联网平台选型要求》;GB/T 42568-2023《工业互联网平台微服务参考框架》&#xff1…

白盒测试、黑盒测试、灰盒测试

根据被测对象的不同,软件测试可以分为白盒测试、黑盒测试、灰盒测试三种方式。那么,这三种测试测试方式具体是如何运行的?各有什么特点?下面,跟着小厚一起了解一下吧! 01 白盒测试 ●概念: ➢…

网络安全入门必学内容

随着时代的发展,经济、社会、生产、生活越来越依赖网络。而随着万物互联的物联网技术的兴起,线上线下已经打通,虚拟世界和现实世界的边界正变得模糊。这使得来自网络空间的攻击能够穿透虚拟世界的边界,直接影响现实世界的安全。 网…

2023最新网络安全面试题大全,看完这篇你的秋招offer就到手了!

前言 随着国家政策的扶持,网络安全行业也越来越为大众所熟知,想要进入到网络安全行业的人也越来越多。 为了拿到心仪的 Offer 之外,除了学好网络安全知识以外,还要应对好企业的面试。 作为一个安全老鸟,工作这么多年…

【unity小技巧】常用的方法属性和技巧汇总

学习目标: 最近学习过程经常遇到一些好的方法属性和技巧,但是很容易忘记,单内容都比较少,又不至于开一篇文章单独讲解各个用法,特此单独写一篇做汇总,好记性不如烂笔头,后面收获一些新的知识我还…

基于kubesphere的k8s环境部署单点版本的rook-ceph

文章目录 前言一、rook-ceph是什么?二、开始部署1.环境准备2.软件包准备3.下载rook-ceph文件4. 部署operator5.创建ceph集群6.创建工具容器,检查集群状态7.准备dashboard的nodeport端口映射服务8.准备prometheus的metric端口映射服务 总结 前言 基于kub…

第16章:InnoDB数据存储结构

一、数据库的存储结构:页 1.磁盘与内存的交互基本单位:页 InnoDB将表中数据划分多个页来存储,InnoDB中页的大小默认是16KB 在数据库中,不论读一行,还是读多行,都是将这些行所在的页从磁盘加载到内存。数据库管理存储…

自动化测试,B、C接口要将A接口返回的参数作为入参,有哪些方法?

在进行自动化测试时,如果需要将A接口返回的参数作为B、C接口的入参,可以通过以下几种方法实现: 如果你想学习自动化测试,我这边给你推荐一套视频,这个视频可以说是B站百万播放全网第一的自动化测试教程,同…

PyTorch 深度学习 || PyTorch 编程基础

PyTorch 编程基础 文章目录 PyTorch 编程基础1. backword 求梯度2. 常用的激活函数2.1 Sigmoid 函数2.2 ReLu 激活函数2.3 Leakly ReLu 激活函数 2. 常用损失函数2.1 均方误差损失函数2.2 L1范数误差损失函数2.3 交叉熵损失函数 3. 优化器 1. backword 求梯度 import torchw …

(十)服务器K8S集群部署SpringBoot项目实战

1.准备springboot项目 可以在 https://start.spring.io/网站准备一个项目,这里作为k8s的学习所以springboot项目中准备一个简单的访问接口即可。 2.服务器环境准备 安装Jdk 1.更新系统软件包: sudo yum update2.安装 OpenJDK 11: sudo…

陶瓷板视觉检测系统和运动控制有什么联系?

陶瓷板视觉检测系统是一种利用现代计算机视觉技术对陶瓷板进行缺陷检测的设备,而运动控制则是一种控制运动的技术,两者之间存在着密切的联系。下面我们将详细介绍陶瓷板视觉检测系统和运动控制之间的联系。 一、陶瓷板视觉检测系统 陶瓷板视觉检测系统…

Redis面试核心技术点和缓存相关问题

目录 Redis的数据结构和原理 Redis持久化:RDB和AOF Redis的集群设计 缓存雪崩、击穿、穿透 高并发场景下缓存和数据库更新策略 Redis的大key和热key和大value 本地缓存 磁盘IO和网络开销 相比于 请求内存IO 要高上千倍,如果某个数据从数据库磁盘读…

第17章:存储引擎

一、查看存储引擎 1.什么是存储引擎 MySQL的存储引擎就是表的类型 2.查看mysql存储引擎 show engines; 二、设置系统默认的存储引擎 1.查看默认的存储引擎 select default_storage_engine; 2.修改默认存储引擎 set default_storage_engineMyISAM; 三、设置表的存储引擎 …