From fc3982838dd319309ac82363bac4eaa9298c1f3b Mon Sep 17 00:00:00 2001 From: Derick Ruiz Date: Tue, 17 Dec 2024 17:19:07 +0700 Subject: [PATCH] (docs): Implementing Yuval's feedback on the Blueprints Overview page. --- docs/platform-features/blueprints.md | 47 +++++++++++++++------------- 1 file changed, 26 insertions(+), 21 deletions(-) diff --git a/docs/platform-features/blueprints.md b/docs/platform-features/blueprints.md index ef5485e2..b6745e0b 100644 --- a/docs/platform-features/blueprints.md +++ b/docs/platform-features/blueprints.md @@ -7,25 +7,24 @@ slug: /blueprints # Blueprints -Blueprints are a powerful feature that let organizations create and manage any type of resource in their development ecosystem. -Whether you're working with Java services, Python apps, deployment configurations, or database setups, Blueprints provide a flexible way to define, generate, and manage these resources. +Blueprints are a powerful feature that lets organizations create and manage any type of resource in their development ecosystem. +Whether you're building Java microservices, Python SDKs, React front-end apps, Terraform configurations, or PostgreSQL database setups, Blueprints provide a flexible way to define, generate, and manage these resources. ![Project-level Blueprints Tab](./assets/blueprints/blueprint.png) ## Why Use Blueprints -Amplication provides enterprise-grade code generation for Node.js and .NET services, offering integration with industry-leading tools like Prisma, PostgreSQL, and MongoDB. - -With Blueprints, we expand these capabilities to support any programming language, framework, database, or deployment option your team uses. -This allows you to create standardized resources that match your organization's specific technology choices and requirements. +Blueprints enable organizations to implement their own standards, best practices, and technology choices across their development ecosystem. +You can create standardized resources that match your specific requirements while maintaining consistency across teams and projects. With Blueprints you can: -- Create resources for any programming language or framework -- Standardize resource creation across your organization -- Define custom deployment configurations -- Connect external services and APIs -- Set up database resources +- Describe any piece of software like SDKs, deplyoyment configs, front-end apps, and even Amplication plugins. +- Create resources using your preferred technologies and frameworks +- Implement organization-specific development standards +- Define relationships between different parts of your system +- Generate sophisticated and dynamic code based on resource relationships +- Create reusable components that follow your architectural patterns ## How To Access Blueprints @@ -39,14 +38,14 @@ Access Blueprints from your Workspace by navigating to the dedicated Blueprints ### Blueprint -A blueprint defines how a specific type of resource will be implemented in your project. It provides the foundation for generating consistent, standardized resources across your organization. Each blueprint can generate multiple resources based on your specific requirements. +A blueprint defines how a specific type of resource will be implemented in your project. It provides the foundation for generating consistent, standardized resources that align with your organization's architecture and practices. Each blueprint serves as a template that can generate multiple resources based on your requirements. ### Resource A resource is a specific instance of a blueprint that developers use in their projects. When you create a resource from a blueprint, you get a fully configured instance that follows your organization's standards and best practices. -You can manage that blueprint resource with the same tools that you can other resources -For example, you can create multiple Java microservices from a single Java Spring Boot blueprint. + +You manage blueprint resources using the same tools available for other resources in your project, like services. ![A resource created from a Blueprint](./assets/blueprints/resource.png) @@ -54,12 +53,13 @@ For example, you can create multiple Java microservices from a single Java Sprin Plugins define the code generation logic for your blueprints. When you create a resource from a blueprint, its associated plugins determine how the actual code and configuration files are generated. -Each plugin can provide specific functionality for your blueprint. For example: +Each plugin can provide specific functionality for your blueprint. +For example: -- Code generation for specific programming languages -- Infrastructure configurations like Terraform files -- Database schema definitions -- API integrations and configurations +- Custom code generation logic for your technology stack +- Infrastructure and deployment configurations +- Integration patterns and configurations +- Organization-specific development standards :::note Organizations can create private plugins to implement their specific requirements and standards. Visit the [Private Plugins](/private-plugins) page to learn more. @@ -67,12 +67,17 @@ Organizations can create private plugins to implement their specific requirement ### Relations -Relations define connections between different blueprints, allowing you to model in-depth relationships in your architecture. For example, you can: +Relations define connections between different blueprints, enabling you to model sophisticated relationships in your architecture. +These relationships are available during the code generation process, allowing plugins to generate dynamic code based on connected resources and their configurations. -1. Connect service blueprints to their deployment configurations +For example, you can: + +1. Connect services to their deployment configurations 2. Link services to their respective databases 3. Define dependencies between different components +The context from these relationships enables intelligent code generation that understands how your resources interact and depend on each other. + ![Relations between Blueprints](./assets/blueprints/relations.png) ## Next Steps