React+FastAPI全栈开发模版

公众号:【可乐前端】,每天3分钟学习一个优秀的开源项目,分享web面试与实战知识,也有全栈交流学习摸鱼群,期待您的关注!

每天3分钟开源

hi,这里是每天3分钟开源,很高兴又跟大家见面了,今天介绍的开源项目简介如下:

仓库名:tiangolo/full-stack-fastapi-template

项目名:full-stack-fastapi-template

开源地址:https://github.com/tiangolo/full-stack-fastapi-template

主要语言: TypeScript

stars数量:18339

forks数量:3103

开源协议:MIT License

一句话介绍

这是一个使用 FastAPI、React、SQLModel、PostgreSQL、Docker等现代化技术构建的全栈开发模板。

详细描述

"全栈FastAPI模板"是一个现代化的全栈开发模板,它使用了 FastAPI、React、SQLModel、PostgreSQL、Docker、GitHub Actions等一系列强大的技术工具。

FastAPI 用于后端API开发,React 用于前端开发,为你提供一站式的全栈开发解决方案。

项目代码组织清晰、功能强大、使用灵活,并且所有的开发工具都是当前最新最热门的,能让你的项目从一开始就站在巨人的肩膀上。

具体功能

  • 使用 FastAPI 进行后端API开发,数据验证和设置管理使用 Pydantic,数据库交互使用 SQLModel。
  • 前端使用 React,使用 TypeScript、hooks、Vite 等现代前端开发工具,前端组件采用 Chakra UI。
  • 自动生成前端客户端,支持暗黑模式。
  • 使用 Docker Compose 进行开发和生产环境的部署,提供安全的密码哈希策略,默认启用 JWT token 验证。
  • 提供基于邮箱的密码恢复功能,使用 Pytest 进行测试。
  • 使用 Traefik 作为反向代理/负载均衡器。
  • 提供基于 Docker Compose 的部署说明,包括如何设置前端 Traefik 代理以处理自动 HTTPS 证书。
  • 基于 GitHub Actions 的 CI/CD(持续集成和持续部署)。

如何使用

你可以直接 Fork 或克隆这个仓库并按需使用。你可以在 .env 文件中更新配置以定制你的配置。在部署之前,确保你至少更改了以下的值:

  • SECRET_KEY
  • FIRST_SUPERUSER_PASSWORD
  • POSTGRES_PASSWORD

你可以运行以下命令生成密钥:

python -c "import secrets; print(secrets.token_urlsafe(32))"

此外,这个仓库还支持使用 Copier 生成新的项目。它会复制所有文件,询问你的配置问题,并根据你的回答更新 .env 文件。

你可以安装 Copier:

pip install copier

或者,如果你有 pipx,你可以这样运行它:

pipx install copier

然后,决定你的新项目的目录名称,你将在下面使用它。例如,my-awesome-project。转到将成为你项目的父目录,并使用你的项目名称运行命令:

copier copy https://github.com/tiangolo/full-stack-fastapi-template my-awesome-project --trust

如果你有 pipx 并且没有安装 copier,你可以直接运行它:

pipx run copier copy https://github.com/tiangolo/full-stack-fastapi-template my-awesome-project --trust

注意,--trust 选项是必要的,以便能够执行更新你的 .env 文件的后创建脚本。

Copier 会询问你一些数据,你可能希望在生成项目之前手头上有这些数据。但是别担心,你可以在 .env 文件中随时更新任何内容。

输入变量及其默认值(部分自动生成)包括:

  • project_name : 项目名称,显示给 API 用户
  • stack_name : 用于 Docker Compose 标签的堆栈名称(无空格)
  • secret_key : 项目的密钥,用于安全,存储在 .env
  • first_superuser : 第一个超级用户的电子邮件
  • first_superuser_password : 第一个超级用户的密码
  • smtp_host : 发送电子邮件的 SMTP 服务器主机,你可以稍后在 .env 中设置
  • smtp_user : 发送电子邮件的 SMTP 服务器用户,你可以稍后在 .env 中设置
  • smtp_password : 发送电子邮件的 SMTP 服务器密码,你可以稍后在 .env 中设置
  • emails_from_email : 发送电子邮件的电子邮件帐户,你可以稍后在 .env 中设置
  • postgres_password : PostgreSQL 数据库的密码,存储在 .env
  • sentry_dsn : 如果你正在使用 Sentry,你可以稍后在 .env 中设置它

开发文档:包括后端开发、前端开发、部署和通用开发文档,你可以在相应的 README.md 和 .md 文件中找到。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

最后

感谢您的阅读,这里每天都会推送优秀的开源项目,如果觉得有帮助的话,一键三连一下吧~

  • 14
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值