
ProjectZen首先将简单性放在首位。 该工具将稀疏的极简主义与无限嵌套相结合,使团队能够在保持快速灵活的同时管理复杂的项目。 ProjectZen的目标是为用户和开源贡献者倡导简单性和清晰的模块化,这使Google Cloud Platform成为基础架构的自然选择。 在这里,我将介绍一些使用GCP从头开始构建此SaaS产品的工具,以及指向完整源代码的链接。
ProjectZen初始MVP的开发涉及许多关键决策。 由于是开源的,因此尽可能地在GCP生态系统中选择最流行的工具。 PZ的堆栈包括Google Cloud SQL,后端为python 2.7的Django,前端JavaScript框架为Angular 4,Firebase身份验证以及部署的Google App Engine / Python。 此外,Stripe用作付款系统,Google reCAPTCHA用作安全帐户创建。

选择GCP的主要原因是其干净,相对直观的工具生态系统才行得通。 在资源有限的情况下,当组件莫名其妙地发生故障或无法直观地启动和运行时,就需要花费大量时间在支持上,这是不可能的。 之所以选择使用Django作为后端的Cloud SQL和App Engine / Python 2.7,主要是因为这两种工具都非常受欢迎,而Angular是基于第三方树库(用于对应用程序中的嵌套结构进行动画处理)而添加的。 之所以选择Angular而不是其他方案,部分原因是决定要致力于Google生态系统,还因为Angular极力地强调将模块化作为核心组织原则。 条带化作为支付系统是一个容易的选择。 它经过了严格的审查,完善和快速集成。
在快速的产品开发和昂贵的工程师的世界中,必须认真考虑工程时间和发布的延迟。 在我看来,有时使用特定解决方案比可量化的前期成本更为严重。 总的来说,我对在PZ的开发中实现这一理念感到很满意,因为这可以快速构建功能强大的,端到端的产品,客户可以看到和使用。
尽管集成不同的基础架构组件(甚至在云中)与科学一样是一门艺术,但GCP相对较快的设置和质量教程还是有很大帮助的。 这不仅改善了我们自己的开发,而且还帮助PZ为用户和贡献者提供了类似的体验。 此外,PZ可以更好地帮助分叉或克隆项目的未来开发人员快速启动并运行其自己令人兴奋的SaaS应用程序。
该项目的完整代码库可以在Github上找到。 编码愉快!