Skip to content
This repository has been archived by the owner on Dec 22, 2024. It is now read-only.

saya-ashen/FileFlow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

简介

FileFlow是一个使用 FastAPI 和 Vue3 开发的简单网盘系统,实现了基本的文件上传和下载功能。个人作业项目,仅供参考使用,请勿用于生产用途。(注:本项目随课程结束可能不再更新。)

概述

该网盘系统提供基本的文件管理功能,目前已完成的功能:

  • 前后端分离:前端使用Vue3,后端使用FastAPI。
  • 用户注册和登录:使用JWT进行用户认证,支持refresh token。用户注册后写入数据库,密码使用bcrypt进行加密。
  • 用户分级:用户分为普通用户和管理员(暂时没有区别),每个用户只能查看自己的文件。
  • 文件上传:上传文件,并将文件信息写入数据库。
  • 文件下载:下载服务器上的文件。

暂时未实现的功能:

  • 多文件上传下载
  • 用户权限管理

建议通过 Docker 来部署这个项目,以确保环境配置的一致性和部署的便捷性。

使用docker部署

克隆项目

git clone https://github.com/saya-ashen/FileFlow.git

构建前端

cd frontend
docker build -t frontend .

构建后端

cd backend
docker build -t backend .

启动项目

docker run -d -p 80:80 --name frontend frontend
docker run -d -p 8000:8000 --name backend backend

一键部署(包含nginx)

docker-compose up -d

环境变量

变量名 说明 默认值
DEFAULT_CAPACITY 默认容量,单位为b 1099511627776(1T)
ALGORITHM 加密算法 HS256
ACCESS_TOKEN_EXPIRE_MINUTES access token过期时间,单位为分钟 30
REFRESH_TOKEN_EXPIRE_MINUTES refresh token过期时间,单位为分钟 10080
JWT_SECRET_KEY JWT密钥 test
JWT_REFRESH_SECRET_KEY JWT刷新密钥 test

致谢

特别感谢 Pure Admin 项目,它的开源代码为本项目的前端部分提供了极大的便利。Pure Admin 是作为项目的一部分而被使用,本项目的其他部分由本人独立开发。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published