Kinit 一个开源的快速开发平台,前后端分离架构,开箱即用

231 阅读5分钟

一、简介

Kinit 是一套全部开源的快速开发平台,采用FastAPI + vue3 前后端分离后台管理系统,包含PC端,微信小程序端。PC 端使用:Vue3+Typescript+Vite+Element Plus,小程序使用:Uni-APP + uview ui,接口使用:FastAPI+Pydantic+SQLAlchemy 2.0+Mysql。异步存储,RBAC 权限管理,定时任务,部门管理等功能。

二、特点

  • 后端采用现代、快速(高性能) FastAPI 异步框架 + 自动生成交互式API文档 + (强制类型约束)Pydantic + (高效率)SQLAlchemy 2.0;

  • PC端采用 vue-element-plus-admin 、Vue3、Element Plus、TypeScript等主流技术开发;

  • 移动端采用 uni-app,Vue2,uView 2为主要技术开发;

  • 后端加入 Typer 命令行应用,简单化数据初始化,数据表模型迁移等操作;

  • 后端新加入根据配置的 ORM 模型,自动生成 CRUD 代码;

  • 定时任务功能,采用 APScheduler 定时任务框架 + Redis 消息队列 + MongoDB 持久存储;

  • 权限认证使用(哈希)密码和 JWT Bearer 令牌的 OAuth2,支持多终端认证系统。

  • 支持加载动态权限菜单,多方式轻松权限控制,按钮级别权限控制。

  • 已加入常见的 MySQL + MongoDB + Redis 数据库异步操作。

  • 支持 docker-compose 部署方式

  • 开箱即用的中后台解决方案,可以用来作为新项目的启动模版,也可用于学习参考。并且时刻关注着最新技术动向,尽可能的第一时间更新。

  • 与 vue-element-plus-admin 前端框架时刻保持同步更新。

三、PC端内置功能

  • 菜单管理:配置系统菜单,操作权限,按钮权限标识、后端接口权限等。

  • 部门管理:支持无限层级部门配置。

  • 角色管理:角色菜单权限,角色部门权限分配。

  • 用户管理:用户是系统操作者,该功能主要完成系统用户配置。

  • 个人主页:配置用户个人信息,密码修改等。

  • 字典管理:对系统中经常使用的一些较为固定的数据进行维护。

  • 文件上传:对接阿里云OSS与本地存储。

  • 登录认证:目前支持用户使用手机号+密码登录方式,手机验证码登录方式。

    说明:新建用户密码默认为手机号后六位;

    说明:用户在第一次登录时,必须修改当前用户密码。

  • 系统配置:对本系统环境信息进行动态配置

    网站标题,LOGO,描述,ICO,备案号,底部内容,微信小程序信息,等等

  • 用户分布:接入高德地图显示各地区用户分布情况

  • 数据概览:提供两种数据统计展示模板,更直观的查看数据统计情况

  • 智慧大屏:大屏展示办公室空气质量实时检测数据分析

  • 登录日志:用户登录日志记录和查询。

  • 操作日志:系统用户每次操作功能时的详细记录。

  • 接口文档:提供自动生成的交互式 API 文档,与 ReDoc 文档

  • 导入导出:灵活支持数据导入导出功能

  • 已加入常见的Redis、MySQL、MongoDB数据库异步操作。

  • 命令行操作:新加入 Typer 命令行应用,简单化数据初始化,数据表模型迁移。

  • 定时任务:在线操作(添加、修改、删除)任务调度包含查看任务执行结果日志

四、移动端内置功能

  • 登录认证:支持用户使用手机号+密码方式登录,微信手机号一键登录方式。

    说明:新建用户密码默认为手机号后六位;

    说明:用户在第一次登录时,必须修改当前用户密码。

  • 导航栏:首页、我的、工作台

  • 我的基础功能:编辑资料、头像修改、密码修改、常见问题、关于我们等

五、框架技术

5.1 后端技术

  • Python3:熟悉 python3 基础语法

  • FastAPI - 熟悉后台接口 Web 框架

  • SQLAlchemy 2.0 - 数据数据库操作

  • Typer - 熟悉命令行工具的使用

  • MySQL 和 MongoDB 和 Redis - 熟悉数据存储数据库

  • iP查询接口文档:IP查询第三方服务,有1000次的免费次数

5.2 PC端

  • node 和 git - 项目开发环境

  • Vite - 熟悉 vite 特性

  • Vue3 - 熟悉 Vue 基础语法

  • TypeScript - 熟悉 TypeScript 基本语法

  • Es6+ - 熟悉 es6 基本语法

  • Vue-Router-Next - 熟悉 vue-router 基本使用

  • Element-Plus - element-plus 基本使用

  • vue3-json-viewer:简单易用的json内容展示组件,适配vue3和vite。

  • 高德地图API (amap.com):地图 JSAPI 2.0 是高德开放平台免费提供的第四代 Web 地图渲染引擎。

5.3 移动端

  • uni-app - 熟悉 uni-app 基本语法

  • Vue2 - 熟悉 Vue 基础语法

  • uView UI 2:uView UI 组件的基本使用

  • uni-read-pages :自动读取 pages.json 所有配置。

  • uni-simple-router :在uni-app中使用vue-router的方式进行跳转路由,路由拦截。

5.4 定时任务

  • Python3 -熟悉 python3 基础语法

  • APScheduler - 熟悉定时任务框架

  • MongoDB 和 Redis - 熟悉数据存储数据库

六、系统截图

6.1 PC端演示图

image-20221010214526082

6.3 微信小程序端演示图

七、源码地址

gitee.com/ktianc/kini…