一飞开源,介绍创意、新奇、有趣、实用的开源应用、系统、软件、硬件及技术,一个探索、发现、分享、使用与互动交流的开源技术社区平台。致力于打造活力开源社区,共建开源新生态!
一、开源项目简介
一个开源的房屋租赁管理系统,改变传统租房平台中间商的思路,带来P2P租房新模式,租客和房东直接对接。前期提供房东房源发布和租客求租等功能。建立租赁关系后,提供租客交租和房屋报修等功能,房东管理租客信息,维修房屋等功能。终止租赁关系后,租客对房东进行评价评分,提供给后来租客做参考。
完全基于JavaScrict的应用程序,包含:基于node-js的服务端、基于vue的后台管理系统、基于uni-app的租客端和房东端。
客户端基于uni-app可发布到iOS、Android、Web(响应式)、以及各种小程序(微信/支付宝/百度/头条/飞书/QQ/快手/钉钉/淘宝)、快应用等多个平台。
使用MIT开源协议
小红旗标志为已完成的功能
包含:基于node-js的服务端、基于vue的后台管理系统、基于uni-app的租客端和房东端。
客户端基于uni-app可发布到iOS、Android、Web(响应式)、以及各种小程序(微信/支付宝/百度/头条/飞书/QQ/快手/钉钉/淘宝)、快应用等多个平台。
前端采用最新vue生态,vue3+typescript+pinia+vite,服务端使用阿里node-js开发框架:egg.js。
后端是跟数据库跟服务器打交道的,前端是跟浏览器打交道的,各司其职。
后台管理系统是一个web应用,是对整个系统的全局管理,包括房东、房屋、租客、评论、维修、房圈、点赞、求租等功能的管理,拥有最高权限。
技术栈使用vue全家桶,vue3+TS+vite开发模式。
arco.design不仅仅是一款ui框架,他具有完备的企业级设计系统,包含开发设计于一身。在使用上也有自己的风格,一直以来element-ui都占据vue生态ui框架的首选地位。arco.design不是一个平替产品,他的使用思想经过重新构建,有着更高效的设计。
uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、Web(响应式)、以及各种小程序(微信/支付宝/百度/头条/飞书/QQ/快手/钉钉/淘宝)、快应用等多个平台。
对比原生小程序的语法,uni-app还是比较适合vue开发者,原生语法确实有点反人类,让人很难适应。多端发布更是一种优势。
可以很负责任的说:uview是uniapp首选ui框架,在uniapp官方插件市场上都有着很高的热度,一度热度超过官方。现在的开发都达成了一致:不重复造轮子,能使用开源框架解决的绝不自己写。但是ui框架良莠不齐,甚至有大厂搞出颇为诟病的kpi项目,后期基本不维护,使得开发者一但入坑,就很难脱身,项目中期替换ui框架无疑是灭顶之灾,所以在项目开始就选择一款合适的ui框架很重要。
服务端使用Egg构建,Egg 继承于 Koa;Egg规范了nodejs开发,使用MVC开发模式,奉行『约定优于配置』,团队协作成本低。使得nodejs代码结构不再千奇百怪。
Egg社区 还算完备,一些常用的插件都包含在内。由于继承了Koa的原因,在社区插件方面也完美继承,不过在插件使用方面,Egg的效率要高于Koa。
使用egg-sequelize管理Mysql数据库
Sequelize是一个基于 promise 的 Node.js ORM, 目前支持 Postgres, MySQL, MariaDB, SQLite 以及 Microsoft SQL Server. 它具有强大的事务支持, 关联关系, 预读和延迟加载,读取复制等功能。
使用MinlO来管理文件存储。
MinlO是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据。例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。MinlO是一个非常轻量的服务 可以很简单的和其他应用的结合。
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 官网文档
六、源码地址
评论