天天看点

[开源]MIT开源协议,一个开源的房屋租赁管理系统,支持多端平台

作者:一飞开源
一飞开源,介绍创意、新奇、有趣、实用的开源应用、系统、软件、硬件及技术,一个探索、发现、分享、使用与互动交流的开源技术社区平台。致力于打造活力开源社区,共建开源新生态!

一、开源项目简介

一个开源的房屋租赁管理系统,改变传统租房平台中间商的思路,带来P2P租房新模式,租客和房东直接对接。前期提供房东房源发布和租客求租等功能。建立租赁关系后,提供租客交租和房屋报修等功能,房东管理租客信息,维修房屋等功能。终止租赁关系后,租客对房东进行评价评分,提供给后来租客做参考。

完全基于JavaScrict的应用程序,包含:基于node-js的服务端、基于vue的后台管理系统、基于uni-app的租客端和房东端。

客户端基于uni-app可发布到iOS、Android、Web(响应式)、以及各种小程序(微信/支付宝/百度/头条/飞书/QQ/快手/钉钉/淘宝)、快应用等多个平台。

二、开源协议

使用MIT开源协议

三、界面展示

操作逻辑图

[开源]MIT开源协议,一个开源的房屋租赁管理系统,支持多端平台

小红旗标志为已完成的功能

系统演示

[开源]MIT开源协议,一个开源的房屋租赁管理系统,支持多端平台
[开源]MIT开源协议,一个开源的房屋租赁管理系统,支持多端平台

四、功能概述

全部来自于JavaScrict

包含:基于node-js的服务端、基于vue的后台管理系统、基于uni-app的租客端和房东端。

多端适配

客户端基于uni-app可发布到iOS、Android、Web(响应式)、以及各种小程序(微信/支付宝/百度/头条/飞书/QQ/快手/钉钉/淘宝)、快应用等多个平台。

最新技术栈

前端采用最新vue生态,vue3+typescript+pinia+vite,服务端使用阿里node-js开发框架:egg.js。

完全的前后端分离

后端是跟数据库跟服务器打交道的,前端是跟浏览器打交道的,各司其职。

五、技术选型

技术栈解析图

[开源]MIT开源协议,一个开源的房屋租赁管理系统,支持多端平台

后台管理系统

[开源]MIT开源协议,一个开源的房屋租赁管理系统,支持多端平台

后台管理系统是一个web应用,是对整个系统的全局管理,包括房东、房屋、租客、评论、维修、房圈、点赞、求租等功能的管理,拥有最高权限。

技术栈使用vue全家桶,vue3+TS+vite开发模式。

UI框架使用字节跳动出品的arco.design的vue版本

[开源]MIT开源协议,一个开源的房屋租赁管理系统,支持多端平台

arco.design不仅仅是一款ui框架,他具有完备的企业级设计系统,包含开发设计于一身。在使用上也有自己的风格,一直以来element-ui都占据vue生态ui框架的首选地位。arco.design不是一个平替产品,他的使用思想经过重新构建,有着更高效的设计。

租客及房东小程序​

租客及房东小程序均使用uni-app开发

[开源]MIT开源协议,一个开源的房屋租赁管理系统,支持多端平台

uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、Web(响应式)、以及各种小程序(微信/支付宝/百度/头条/飞书/QQ/快手/钉钉/淘宝)、快应用等多个平台。

对比原生小程序的语法,uni-app还是比较适合vue开发者,原生语法确实有点反人类,让人很难适应。多端发布更是一种优势。

小程序ui框架使用uview​

[开源]MIT开源协议,一个开源的房屋租赁管理系统,支持多端平台

可以很负责任的说:uview是uniapp首选ui框架,在uniapp官方插件市场上都有着很高的热度,一度热度超过官方。现在的开发都达成了一致:不重复造轮子,能使用开源框架解决的绝不自己写。但是ui框架良莠不齐,甚至有大厂搞出颇为诟病的kpi项目,后期基本不维护,使得开发者一但入坑,就很难脱身,项目中期替换ui框架无疑是灭顶之灾,所以在项目开始就选择一款合适的ui框架很重要。

服务端使用Egg构建,Egg 继承于 Koa;Egg规范了nodejs开发,使用MVC开发模式,奉行『约定优于配置』,团队协作成本低。使得nodejs代码结构不再千奇百怪。

[开源]MIT开源协议,一个开源的房屋租赁管理系统,支持多端平台

Egg社区 还算完备,一些常用的插件都包含在内。由于继承了Koa的原因,在社区插件方面也完美继承,不过在插件使用方面,Egg的效率要高于Koa。

数据库​

使用egg-sequelize管理Mysql数据库

[开源]MIT开源协议,一个开源的房屋租赁管理系统,支持多端平台

Sequelize是一个基于 promise 的 Node.js ORM, 目前支持 Postgres, MySQL, MariaDB, SQLite 以及 Microsoft SQL Server. 它具有强大的事务支持, 关联关系, 预读和延迟加载,读取复制等功能。

对象存储OSS​

使用MinlO来管理文件存储。

[开源]MIT开源协议,一个开源的房屋租赁管理系统,支持多端平台

MinlO是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据。例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。MinlO是一个非常轻量的服务 可以很简单的和其他应用的结合。

缓存redis​

[开源]MIT开源协议,一个开源的房屋租赁管理系统,支持多端平台

redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

egg使用redis可以使用egg-redis

将小程序开放平台的token和用户体系生成的token保存在redis中是一个很好的选择。

文件目录

服务端​

根目录:/RH-server

bash

/RH-server
├── package.json
├── app
│   ├── controller
│   ├── model
│   ├── service
│   ├── middleware
│   ├── routerModules
│   ├── public
|   ├── router.js
├── config
|   ├── plugin.js
|   ├── config.default.js
└── test           

为了规范目录,所有的路由分模块存放在routerModules文件夹内

后台管理系统​

根目录:/RH-admin

租客端小程序​

根目录:/RH-tenant

使用分包加载,具体目录参见pages.json

房东端小程序​

根目录:/RH-landlord

使用分包加载,具体目录参见pages.json

来源:right-house 官网文档

六、源码地址

访问一飞开源:https://code.exmay.com/

继续阅读