代码编织梦想

简介

GITHUB: https://github.com/JohnDoe1996/fastAPI-vue.git

GITEE: https://gitee.com/zy1234500/fastAPI-vue

FastAPI-Vue是个人开发并使用的CURD模板之一,代码功能不难,主要是减少浪费时间在用户系统的开发。
fastAPI的性能在Python中还算挺不错的,使用起来也很方便。github上也有其他fastAPI和vue组合的代码,个人觉得不是很符合我自己,然后就自己开发了一套,现开源共享出来。
后端项目的目录结构借鉴了Django的目录结构。前端Vue代码使用了Ruoyi的Vue代码。
大部分功能和若依相似,但是在原基础上删除了我个人认为用得很少的 部门 模块。并在原基础上加上了用户注册功能。

运行截图

登录页面
仪表盘页面
菜单管理页面

Demo

URL

账号

角色用户名密码
管理员admin1admin123
运维员opt1opt123
普通用户user1123456

项目部署

注意:
本源码中所有配置文件都使用 配置文件模板(.example)的形式上传, 目的是为了方便我自己的配置信息不被泄露。
部署项目时需要把.example后缀去掉才能使用。需要用到配置文件的地方均在后续说明有列出。

FIRST

克隆项目主分支

git clone -b main https://github.com/JohnDoe1996/fastAPI-vue.git

数据库中创建DB

CREATE DATABASE fastapi_vue;  -- 仅供参考根据自己项目名和所用的数据库类型 修改SQL, 

导入初始化sql数据到数据库

USE fastapi_vue;
SOURCE init_data.sql;   -- 仅供参考

APP

  1. 安装python3、virtualenv、Nginx、 supervisor
# 略
  1. 安装必要第三方库
cd ./fastAPI-vue/backend/app   # 进入到后端程序代码的根目录

python3 -m virtualenv venv     # 创建虚拟环境

source ./venv/bin/activate      # 进入虚拟环境

pip install -r requirements.txt   # 安装库  可使用谷内源:  -i https://pypi.tuna.tsinghua.edu.cn/simple
  1. 准备程序配置文件
cp ./configs/.env.example  ./configs.env    # 复制配置模板

vim ./configs/.env     # 拷贝配置文件

# python main.py   # 测试项目是否成功运行,

根据需要修改.env的配置内容,配置所有的参数参考 ./core/config.py -> class Settings

  1. 使用supervisor管理项目(生产环境)
cp ./configs/supervisor.conf.example  ./configs/supervisor.conf   # 拷贝配置文件

sudo ln -s /home/ubuntu/opt/fastAPI-vue/backend/app/configs/supervisor.conf /etc/supervisor/conf.d/fastapi_vue_backend.conf   # 配置文件软链到supervisor的配置文件目录, 此处目录路径仅供参考

vim ./configs/supervisor.conf    # 编辑配置文件,已有参考配置,按需修改

sudo supervisorctl update     # 更新supervisor

sudo supervisorctl start fastapi-backend:   # 启动项目

WEB

  1. 安装node、npm
# 略
  1. 安装相关第三方包
cd ./fastAPI-vue/frontend/dashborad   # 进入项目目录

npm i  # 安装包
  1. 开发环境配置
cp .env.production.example .env.production  # 复制配置文件

vim .env.production  # 编辑配置文件

npm run dev    # 测试运行程序 
  1. 生产环境配置
cp .env.development.example .env.development  # 复制配置文件

vim .env.development  # 编辑配置文件

npm run build:stage  # 打包项目文件 (可以考虑在本地打包后把dies文件上传服务器部署)

NGINX

使用Nginx反向代理后端项目和前端文件夹。

cd ./fastAPI-vue  # 进入项目根目录,此处目录仅供参加

cp ./nginx.conf.example  ./nginx.conf   # 拷贝配置文件

sudo ln -s /home/ubuntu/opt/fastAPI-vue/nginx.conf /etc/nginx/sites-enabled/fastapi_vue.conf   # 配置文件软链到Nginx的配置文件目录, 此处目录路径仅供参考

vim ./nginx.conf    # 编辑配置文件,已有参考配置,按需修改

nginx -t   # 检查Nginx配置文件 

nginx -s reload   # 重启Nginx

写在最后

展望

本代码只是一个初始项目代码,用于防止重复造轮子,本人想用这个模板代码开发自己的物联网、数据处理等项目,有机会的话也分享给大家。后期打算加入 websocket celery 等相关代码,同事有打算增加Flask Tornado Sanic 以及TypeScrip版本。敬请期待。

反馈

源码可能还存在着不完善的地方,欢迎加QQ群反馈或者直接提issue,也欢迎直接贡献代码。

版权

前端VUE代码使用若依修改vue-element-admin的进行修改,版权参照他们的版权。
后端FastAPI代码为个人开发,可供学习和商用,禁止直接转卖代码,转载代码请带上出处。

致谢

  • FastAPI
  • vue
  • element
  • vue-element-admin
  • 若依Ruoyi
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/sinat_34149445/article/details/127975155

Vue项目中使用 tinymce 富文本编辑器的方法,附完整源码-爱代码爱编程

来源 | https://blog.csdn.net/xingmeiok/article/deta 1、tinymce相关参考资料 tinymce版资料: http://tinymce.ax-z.cn/general/upload-images.php tinymce英文版资料: https://www.tiny.cloud/docs/

推荐!基于 NestJS/NuxtJS 的完整开源项目-爱代码爱编程

大厂技术  高级前端  Node进阶 点击上方 程序员成长指北,关注公众号 回复1,加入高级Node交流群 今天分享一款轻量级的基于 Node.js 的开源 CMS,采用前后端分离开发模式,集成了 API、后台管理、WEB 展示三个完整项目。开箱即是一套完整的企业网站,适合企业、个人直接使用或二次开发。 API API 使用 Node.js

基于python的接口录制平台的设计与开发-爱代码爱编程

背景: 要写论文,我选择的题目是“基于python的应用研究与开发”,我打算把公司的hrun-接口录制平台,从设计,到技术分析,到代码实现,进行系统的总结下。 (继续完善中。。。) hrun接口录制平台涉及的技术: python基础(必须的,例如:ini配置文件操作、yaml文件读写、内置函数的使用等、多线程等)django3.0(原生django基

基于 SpringBoot + MyBatis-Plus 的公众号管理系统-爱代码爱编程

前言 相信大家很多人都被公司领导要求过,说让大家来开发一个微信公众号的后台系统吧,大家是不是对微信这个各种繁琐的条件弄得非常头疼,今天给大家分享出一块源代码,大家以后如果有需要的,可以直接拿过来复制一下使用呦。 wx-manage是一个支持公众号管理系统,支持多公众号接入。wx-manage提供公众号菜单、自动回复、公众号素材、简易CMS、等

13K点赞都基于 Vue+Spring 前后端分离管理系统ELAdmin,大爱-爱代码爱编程

其实项目网上有很多了,但是教程比较详细的没多少,今天分享的项目从安装部署到代码具体功能都有很详细都说明 eladmin 是一款基于 Spring Boot 2.1.0 、 Jpa、 Spring Security、redis、Vue 的前后端分离的后台管理系统,项目采用分模块开发方式, 权限控制采用 RBAC,支持数据字典与数据权限管理,支持一

13K点赞都基于 Vue+Spring 前后端分离管理系统ELAdmin-爱代码爱编程

其实项目网上有很多了,但是教程比较详细的没多少,今天分享的项目从安装部署到代码具体功能都有很详细都说明 eladmin 是一款基于 Spring Boot 2.1.0 、 Jpa、 Spring Security、redis、Vue 的前后端分离的后台管理系统,项目采用分模块开发方式, 权限控制采用 RBAC,支持数据字典与数据权限管理,支持一

推荐 10 个好用的 Vue3 的开源项目,开发效率又能提升了!-爱代码爱编程

大家好,我是你们的 猫哥,那个不喜欢吃鱼、又不喜欢喵 的超级猫又在线营业啦。 平时如何发现好的开源项目,可以看看这篇文章:GitHub 上能挖矿的神仙技巧 - 如何发现优秀开源项目 如果不想错过精彩内容,请多给本公众号点赞哦,这样就会先收到内容推荐的。 1. vueuse Vue 2 和 3 的基本 Vue 组合实用程序集合。

Java私活神器,分享一套SpringBoot+Vue通用的后台管理系统-爱代码爱编程

其实这类项目网上有很多了,但是教程比较详细的没多少,今天分享的项目从安装部署到代码具体功能都有很详细都说明 eladmin 是一款基于 Spring Boot 2.1.0 、 Jpa、 Spring Security、redis、Vue 的前后端分离的后台管理系统,项目采用分模块开发方式, 权限控制采用 RBAC,支持数据字典与数据权限管理,支

ruoyi vue - 若依框架的 vue 版本,免费开源、生态强大、专业的 admin 后台管理系统,基于 vue + element_那些免费的砖的博客-爱代码爱编程

有一段时间没有推荐 admin 框架了,若依这款后台框架很强大,提供了 vue 版本,很实用,推荐给大家。 关于若依 RuoYi 中文名称叫若依,名字十分二次元,是一个后台管理系统,后端基于经典技术组合(Spring Boot、Apache Shiro、MyBatis、Thymeleaf),前端提供了 Bootstrap 和 Vue + Eleme

一个基于netcore开发的前后端分离cms系统_编程乐趣的博客-爱代码爱编程

今天给大家推荐一个开源的前后端分离架构的CMS建站系统。 项目简介 这是一个基于.Net 3构建的简单、跨平台、模块化建站系统。系统业务简单、代码清晰、层级分明、全新架构便于二次扩展开发。支持多种数据库,可用于OA、ER

vite+ts前期准备(尽量详细在更新)_rshylabs的博客-爱代码爱编程

创建和准备vite+ts项目 打开命令行或进入vscode打开终端 输入命令:npm init vite 选择vue+ts cd 进入项目 cnpm/yarn/npm install 初次运行项目 终

分享 16 个顶尖 vue 开源项目,助你提升技术能力-爱代码爱编程

原文链接:https://dev.to/flatlogic/top-16-vue-open-source-projects-227a 作者:Katarina Harbuzava 如有翻译不准,请多指正 为什么我们要关注Vue Vue是一个用于构建用户界面的JavaScript框架。值得关注的是,它在没有谷歌和Facebook的支