3.3 KiB
What the prompt does
- Generate a full architecture diagram for a Flutter project based on the given overview and use case diagram
- The architecture diagram should include the frontend, backend, and database layers
- The architecture diagram should be generated using mermaid syntax
Assumption
- Flutter project is given
- Overview mermaid diagram is given
- Use case diagram is given
- Backend architecture mermaid diagram is given
- The backend architecture diagram should be generated based on the given overview and use case diagrams
How to use the prompt
For the given Flutter project, I want to generate a complete architecture document. Use the codebase together with the following Mermaid files:
overview.mermaidapi_map.mermaidbackend_architecture.mermaiduse_case_flows.mermaiduse-case-flowchart.mermaid(duplicate file if needed for additional reference)
Your tasks:
-
Analyze the Flutter project structure, the relevant backend integrations, and all provided Mermaid diagrams.
-
Create a comprehensive Markdown architecture document (
architecture.md) that includes:A. Introduction
- High-level summary of the project.
- Brief description of the core purpose of the app.
B. Full Architecture Overview
- Explanation of app architecture used (e.g., layered architecture, MVVM, Clean Architecture, etc.).
- Description of key modules, layers, and responsibilities.
- Integration points between UI, domain, and data layers.
C. Backend Architecture
-
Based on the backend diagrams, describe:
- How GraphQL is used.
- How Firebase services (Auth, Firestore, Storage, Functions, etc.) are integrated.
- How the app communicates with the backend end-to-end.
- API flow between Flutter → GraphQL → Firebase.
D. API Layer
- Summaries of GraphQL queries, mutations, and subscriptions.
- Explanation of how the app handles API errors, retries, caching, and parsing.
- Any backend-dependent logic highlighted in diagrams.
E. State Management
-
Identify the state management approach used (Bloc, Riverpod, Provider, Cubit, ValueNotifier, etc.).
-
Explain:
- Why this method was chosen.
- How state flows between UI, logic, and backend.
- How the state management integrates with the API layer.
F. Use-Case Flows
- Explain each major use case using the
use_case_flows.mermaidanduse-case-flowchart.mermaiddiagrams. - Describe the UI → Logic → Backend → Response cycle for each use case.
G. Backend Replacement Section
Add a dedicated section titled “Replacing or Plugging in a New Backend: Considerations & Recommendations”, including:
- What parts of the codebase are tightly coupled to the current backend.
- What should be abstracted (e.g., repositories, services, DTOs, error handling).
- How to structure interfaces to allow backend swapping.
- Suggested design improvements to make the architecture more backend-agnostic.
- Migration strategies for replacing GraphQL + Firebase with another backend (REST, Supabase, Hasura, etc.).
-
Make the Markdown document clear, well-structured, and easy for developers to use as a long-term reference.
-
Output the final result as a single
architecture.mdfile.