μblog

μ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 应用程序设置
  • 本地开发环境

如何获得帮助

该项目由贡献者社区推动。如果您在使用此应用程序的任何部分时遇到问题,您可以通过多种方式获得帮助: