Architecture Views in C4 Model
System Context Diagram
- Introduction
- Container Diagram (Archimate Diagram Model)
- Architects (Business Actor)
- Unicorn (Application Component)
- Google Drive (Application Component)
- Google Mail (Application Component)
- Zappier (Application Component)
- Auth0 (Application Component)
- Google Identity (Application Component)
- Kindle Scribe (Device)
Introduction
The Unicorn project is designed to streamline the documentation and sharing of architecture artifacts created on a Kindle Scribe. Its primary objective is to enable users to export diagrams and Architecture Decision Records (ADRs) from Kindle Scribe, convert them into Markdown format, and host them on a secure, static website for easy access and collaboration.
Container Diagram
- Introduction
- Unicorn (Application Component)
- Google Drive (Application Component)
- Google Identity (Application Component)
- Auth0 (Application Component)
- MADR Tools (Application Function)
- Ionos (Application Component)
- Github (Application Component)
- Google Gemini (Application Component)
- Pusher (Application Component)
Introduction
System architecture for the Unicorn project, which follows a Frontend/Backend pattern. The Frontend uses an Ionic framework with React (cf. ADR 0013-frontend-framework) and integrates Auth0 for secure user authentication via Authorization Code Flow with PKCE. It connects to Google Identity to obtain access tokens, enabling access to Google Drive for file storage and management.
Components Diagram
- Introduction
- Backend (Application Component)
- List Files (Application Interface)
- Update File Extension (Application Interface)
- Download File (Application Interface)
- File Process (Application Component)
- Process File (Application Interface)
- Auth Google (Application Interface)
- Google Identity (Application Component)
- Google Drive (Application Component)
- Push File (Application Interface)
- Github (Application Component)
- Frontend (Application Component)
- Drive Component (Application Function)
- Static Website (Application Component)
- ADR (Application Function)
- File Publish (Application Component)
- Google Gemini (Application Component)
- Pusher (Application Component)
Introduction
![Components Diagram][embedView]
Deployement Diagram
- Introduction
- NodeJS (Application Component)
- Backend (Application Component)
- Container Instance (Node)
- Azure Service Bus (Technology Service)
- [Queue] Files (Artifact)
- Uvicorn (Application Component)
- File Process (Application Component)
- Frontend (Application Component)
- Static Website (Application Component)
- Static Web App (Node)
Introduction
Static Web App hosted on deployment node. The architecture is composed of two main containers:
Infrastructure Diagram
- Introduction
- Container Instance (Node)
- Cosmos DB (Node)
- Storage Account (Node)
- Bicep (Application Function)
- Managed Environment (Node)
- Static Web App (Node)
- Github (Application Component)
- Sonar Cloud (Application Component)
- Dependabot (Application Component)
Introduction
Infrastructure diagram with an emphasis on infrastructure as code (IaC), automation, and quality assurance.
- Bicep (IaC Component) Automates the provisioning of infrastructure (Container Instances, Cosmos DB, Storage Account) within a Managed Environment. It ensures repeatability and consistency.
- Managed Environment Provides observability through App Insights and Log Analytics Workspace, addressing monitoring and operational concerns.
- GitHub Acts as the source code repository and orchestrates triggers for creating deployment nodes (e.g., Static Web App) and integrating automated quality and security checks.
DevSecOps Integrations: