# Assets Directory

This directory contains common assets for the DeFi Oracle Meta Mainnet project, including Azure Architecture Icons and diagram resources.

## Directory Structure

```
assets/
├── azure-icons/          # Azure Architecture Icons (SVG, PNG)
│   ├── svg/             # SVG format icons
│   ├── png/             # PNG format icons
│   └── metadata/        # Icon metadata and catalogs
├── diagrams/            # Architecture diagrams
│   ├── architecture/    # Architecture diagrams
│   ├── network/         # Network topology diagrams
│   └── deployment/      # Deployment diagrams
└── logos/               # Project and partner logos
```

## Azure Architecture Icons

### Official Sources

Azure Architecture Icons are provided by Microsoft and are available from:

1. **Official Download**: [Azure Architecture Center](https://docs.microsoft.com/azure/architecture/icons/)
2. **GitHub Repository**: [Microsoft Cloud Adoption Framework](https://github.com/microsoft/CloudAdoptionFramework)
3. **Direct Download**: Available via the download script in this directory

### Icon Formats

- **SVG**: Scalable Vector Graphics (recommended for diagrams)
- **PNG**: Portable Network Graphics (for presentations)
- **ICO**: Icon format (for applications)

### Usage Guidelines

1. **Use Official Icons**: Always use official Azure icons from Microsoft
2. **Maintain Consistency**: Use the same icon set across all diagrams
3. **Respect Licensing**: Follow Microsoft's icon usage guidelines
4. **Keep Updated**: Regularly update icons to the latest version

### Downloading Icons

Use the provided script to download Azure icons:

```bash
./scripts/assets/download-azure-icons.sh
```

This will download the latest Azure Architecture Icons to `assets/azure-icons/`.

## Diagram Tools

### Recommended Tools

1. **Draw.io / diagrams.net**: Free, web-based diagramming tool
   - Supports Azure icon stencils
   - Export to SVG, PNG, PDF
   - GitHub integration

2. **Lucidchart**: Professional diagramming tool
   - Azure icon library
   - Collaboration features
   - Export to multiple formats

3. **Visio**: Microsoft's diagramming tool
   - Official Azure stencils
   - Professional templates
   - Integration with Office

4. **PlantUML**: Text-based diagramming
   - Version control friendly
   - Automated diagram generation
   - Integration with documentation

## Creating Architecture Diagrams

### Best Practices

1. **Use Consistent Icons**: Use Azure Architecture Icons consistently
2. **Label Components**: Label all components clearly
3. **Show Relationships**: Show connections and data flows
4. **Include Legends**: Add legends for complex diagrams
5. **Version Control**: Keep diagrams in version control
6. **Document Changes**: Document diagram changes in commits

### Diagram Templates

Templates are available in `assets/diagrams/templates/` for:
- Network architecture
- Deployment architecture
- Data flow diagrams
- Security architecture
- High-level overview

## Icon Categories

### Compute
- Azure Kubernetes Service (AKS)
- Virtual Machines
- Container Instances
- App Service

### Networking
- Virtual Network
- Application Gateway
- Load Balancer
- VPN Gateway
- Network Security Groups

### Storage
- Storage Accounts
- Blob Storage
- File Shares
- Managed Disks

### Security
- Key Vault
- Azure Active Directory
- Security Center
- Firewall

### Management
- Resource Groups
- Management Groups
- Subscriptions
- Monitor
- Log Analytics

### Blockchain (Custom)
- Hyperledger Besu
- Validator Nodes
- RPC Nodes
- Oracle Nodes

## References

- [Azure Architecture Center](https://docs.microsoft.com/azure/architecture/)
- [Azure Architecture Icons](https://docs.microsoft.com/azure/architecture/icons/)
- [Azure Architecture Patterns](https://docs.microsoft.com/azure/architecture/patterns/)
- [Cloud Adoption Framework](https://docs.microsoft.com/azure/cloud-adoption-framework/)

