μblog
使用 Django 和 Vue.js 构建的参考 Web 应用程序部署在 AWS 上,带有 ECS Fargate
全栈
该项目涵盖了现代 Web 应用程序的完整技术栈,从前端到后端再到 CI/CD 和基础架构即代码
十二因素应用程序
本项目秉承12Factor App理念
最佳实践
该项目侧重于实现一个简单的应用程序,其中包含您将在健康的、生产就绪的应用程序中看到的所有最佳实践
IaC Rosetta Stone
本项目使用CDK、Terraform和Pulumi实现相同的应用架构
GitHub 操作
GitHub Actions 用于持续集成和持续交付,包括基础设施和应用程序管道
AWS ECS Fargate
该项目侧重于使用 ECS Fargate 运行容器化的 Django 应用程序,ECS Fargate 是 AWS 的无服务器计算产品
FBV 和 CBV
后端 Django 应用程序是使用基于函数的视图和基于类的视图的 Django 模板实现的
DRF 和 GraphQL
Django 应用程序还使用带有 DRF 的 REST 和带有 Graphene 的 GraphQL 来实现 API
类星体框架
使用 TypeScript、Vue.js 和 Quasar Framework 构建的前端客户端使用 DRF REST API
Python 和 TypeScript
后端使用 Python,前端客户端和基础设施代码均使用 TypeScript
负载测试
项目使用k6模拟流量,可以在本地运行,也可以使用GitHub Actions
开发者体验
该项目旨在提供简单易懂的开发人员体验
撰写和 venv
本地后端开发既可以用虚拟环境也可以用docker compose来完成
测试和覆盖
pytest用于后端测试,测试覆盖率用pytest-cov测量
本文档涵盖了许多与项目的各个方面相关的不同主题。该项目旨在提供两件事:
- 名为 μblog 的示例 Web 应用程序的工作示例。
- 关于如何构建应用程序每个部分的深入技术指南
在高层次上,文档可以分为以下几类:
- Django 应用程序设置
- 本地开发环境
如何获得帮助
该项目由贡献者社区推动。如果您在使用此应用程序的任何部分时遇到问题,您可以通过多种方式获得帮助:
- 加入 Discord 社区:https://discord.gg/pXzCwc6HFH在新窗口打开
- 在 GitHub 项目上开始讨论:https://github.com/briancaffey/django-step-by-step/discussions在新窗口打开