技术栈介绍
过程永远比结果重要。毕业设计是大学生活中最为浓墨重彩的一笔,在这个过程中不仅学到更为全面的书本和实践知识,更让我感受到了浓浓的同窗之情及师生情。虽然大学四年间做过不少实验作业,但是独立完成这样一个操作系统还是第一次,遇到困难时理所当然,我也有所心理准备,但是超出自身能力的部分还是需要寻求教师及同学的帮助。
本系统主要使用Java、mySQL、B/S架构以及 SpringCloud等技术进行整合开发。数据库开发则使用mySQL语言进行数据库的开发,在众多的数据库管理系统中mysql是最灵活方便的,它是网站开发最常用的语言,mysql数据库使得开发人员开发数据库更加的方便快捷,灵活有效。因此,从技术上来说,本系统在技术上是可行的。
前端:vue.js+ElementUI
开发工具:IDEA 或者eclipse都支持
编程语言: java
框架:springboot/ssm/springcloud
数据库: mysql 版本不限
数据库工具:Navicat/SQLyog都可以
项目介绍
管理员、物业及业主可通过手机APP打开系统,注册登录后可进行管理员后端;首页、个人中心、业主管理、物业管理、楼层管家管理、业主缴费管理、业主报修管理、社区停车管理、车辆入场管理、车辆出场管理、业主投诉、系统管理,业主前端;首页、楼层管家、社区停车、我的,物业后端;首页、个人中心、业主管理、楼层管家管理、业主缴费管理、业主报修管理、社区停车管理、车辆入场管理、车辆出场管理、业主投诉、系统管理等。
具体实现截图
开发核心技术:
Springboot简介:
Springboot是一Spring级框架为基础的的全新轻量级框架。其前身Spring框架首发是轻量级框架,目的是减轻了开发人员多负担。后期大量升级导致变得笨重,违背了框架的初衷。
Spring Cloud
Spring Cloud构建分布式系统不需要复杂和容易出错。Spring Cloud 为最常见的分布式系统模式提供了一种简单且易于接受的编程模型,帮助开发人员构建有弹性的、可靠的、协调的应用程序。Spring Cloud 构建于 Spring Boot 之上,使得开发者很容易入手并快速应用于生产中。
Eureka:
Spring Cloud Eureka是Spring Cloud Netflix微服务套件中的一部分,它基于Netflix Eureka做了二次封装。主要负责完成微服务架构中的服务治理功能。
Eureka服务端,即服务注册中心。它同其他服务注册中心一样,支持高可用配置。依托于强一致性提供良好的服务实例可用性,可以应对多种不同的故障场景。
总的来说,Spring Cloud Eureka 是一个功能强大、易于使用的服务注册与发现组件,为微服务架构提供了关键的基础设施。它通过实现服务注册、发现和负载均衡等功能,帮助开发者构建高可用、可伸缩的分布式系统。
开发技术Spring Cloud Eureka
Spring Cloud Eureka是Spring Cloud Netflix微服务套件中的一部分,它基于Netflix Eureka做了二次封装。主要负责完成微服务架构中的服务治理功能。
SpringCloud 是一套基于 SpringCloud 构建的通用工具集,适合用于快速地构建分布式系统。作为微服务的开发框架,其整合并增强了微服务架构中常用的组件,如
Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。
核心代码部分展示
/**
* 登录相关
*/
@RequestMapping("users")
@RestController
public class UsersController{
@Autowired
private UsersService userService;
@Autowired
private TokenService tokenService;
/**
* 登录
*/
@IgnoreAuth
@PostMapping(value = "/login")
public R login(String username, String password, String captcha, HttpServletRequest request) {
UsersEntity user = userService.selectOne(new EntityWrapper<UsersEntity>().eq("username", username));
if(user==null || !user.getPassword().equals(password)) {
return R.error("账号或密码不正确");
}
String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
return R.ok().put("token", token);
}
/**
* 注册
*/
@IgnoreAuth
@PostMapping(value = "/register")
public R register(@RequestBody UsersEntity user){
// ValidatorUtils.validateEntity(user);
if(userService.selectOne(new EntityWrapper<UsersEntity>().eq("username", user.getUsername())) !=null) {
return R.error("用户已存在");
}
userService.insert(user);
return R.ok();
}
/**
* 退出
*/
@GetMapping(value = "logout")
public R logout(HttpServletRequest request) {
request.getSession().invalidate();
return R.ok("退出成功");
}
/**
* 密码重置
*/
@IgnoreAuth
@RequestMapping(value = "/resetPass")
public R resetPass(String username, HttpServletRequest request){
UsersEntity user = userService.selectOne(new EntityWrapper<UsersEntity>().eq("username", username));
if(user==null) {
return R.error("账号不存在");
}
user.setPassword("123456");
userService.update(user,null);
return R.ok("密码已重置为:123456");
}
/**
* 列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,UsersEntity user){
EntityWrapper<UsersEntity> ew = new EntityWrapper<UsersEntity>();
PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
return R.ok().put("data", page);
}
/**
* 列表
*/
@RequestMapping("/list")
public R list( UsersEntity user){
EntityWrapper<UsersEntity> ew = new EntityWrapper<UsersEntity>();
ew.allEq(MPUtil.allEQMapPre( user, "user"));
return R.ok().put("data", userService.selectListView(ew));
}
/**
* 信息
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") String id){
UsersEntity user = userService.selectById(id);
return R.ok().put("data", user);
}
/**
* 获取用户的session用户信息
*/
@RequestMapping("/session")
public R getCurrUser(HttpServletRequest request){
Long id = (Long)request.getSession().getAttribute("userId");
UsersEntity user = userService.selectById(id);
return R.ok().put("data", user);
}
需求分析
系统需求分析就是在实际设计前对系统功能、界面的分析,通俗的说即这个系统需要做什么,要达到什么样的效果,可以说需求分析是在软件设计前重要的环节。细致具体的需求分析可以避免不必要的返工。
可行性论证
本系统作为以java作为开发语言的系统,而且选用springcloud微服务架构和B/S结构则决定了要操作本系统仅需要占用很小的资源,并没有过多地硬件配置要求,目前市面上只要能正常运行浏览器的个人电脑都可以正常运行使用该系统。
详细视频演示
请联系我获取更详细的演示视频
个人心得
由于经验和能力不足,导致在开发、设计该系统的时候,出现了比较多的问题,例如需要用到的技术不熟悉、程序报错等,后来我积极地向同学询问自己出现的问题同时也会找一些相关的书进行学习,慢慢的一点点将自己遇到的问题逐渐解决。所以不管以后在任何时候合作都会让自己事半功倍。通过本系统的完整的开发,可以遇到自己平时写一些简单的小程序遇不到的问题,不仅仅局限与技术与业务方面的,同时也使得自己更加深入的了解软件过程的开发设计思想,对于即将踏入社会工作而言,这些心得都十分重要。在以后的研究生学习生涯也必须加深这方面的理解,将最好的开发技术和最新的科学原理运用到自己以后的开发工作和学习研究中去。
源码获取
需要成品,加我们的时候,记得把视频页面截图发下我,方便查找相应的源代码。可以的话 顺便点赞!
文章下方名片联系我即可~
✌💗大家点赞、收藏、关注、评论啦 、查看✌💗
👇🏻获取联系方式👇🏻