Welcome to Mermaid to Dataverse Converter
The Mermaid to Dataverse Converter is a powerful tool that converts Mermaid ERD diagrams into fully functional Microsoft Dataverse solutions. This tool streamlines the process of creating Dataverse data models, saving hours of manual configuration.
What You Can Do
- Convert ERD Diagrams: Transform Mermaid ERD syntax into Dataverse tables and relationships
- Automatic Validation: Detect and fix common Dataverse naming and structure issues
- Global Choices: Automatically manage and reuse global choice sets
- CDM Integration: Seamlessly integrate with Common Data Model entities
- Solution Packaging: Create complete Dataverse solutions ready for deployment
- Microsoft Entra Authentication: Secure access with Microsoft identity
- Deployment History: Track all your deployments with detailed logging
- Modular Rollback: Selectively rollback components of your deployment
Quick Start
Get up and running in minutes:
# Clone the repository
git clone https://github.com/LuiseFreese/mermaid.git
cd mermaid
# Install dependencies
npm install
# Set up environment variables
copy .env.example .env.local
# Start the backend server
npm start
# In a separate terminal, start the frontend
cd src/frontend
npm install
npm start
The backend will be available at http://localhost:8080
and the frontend wizard at http://localhost:3003/wizard
.
Key Features
Intuitive UI
A wizard-based interface guides you through the process:
- Upload your Mermaid ERD file
- Configure solution and publisher settings
- Validate and preview your data model
- Deploy to Dataverse
Smart Validation
The wizard automatically detects and suggests fixes for:
- Invalid entity and attribute names
- Missing primary keys
- Incorrect relationship definitions
- Dataverse reserved words
- Naming convention violations
Powerful Deployment
- Direct deployment to Microsoft Dataverse
- Automatic retry logic for transient failures
- Progress tracking with detailed logging
- Rollback capabilities for failed deployments
Architecture
The application consists of three main components:
-
Frontend (React + TypeScript + Fluent UI)
- Wizard interface for file upload and configuration
- Real-time validation and preview
- Deployment progress tracking
-
Backend (Node.js)
- Mermaid ERD parsing and validation
- Dataverse API integration
- Authentication middleware
- Deployment orchestration
-
Azure Integration
- Managed Identity for secure, passwordless authentication
- MIcrosoft Entra for user authentication
- App Service hosting
What's Next?
Explore the documentation to learn more:
Getting Started
- Local Development Guide - Set up your development environment
- Deployment Guide - Deploy to Azure
- Usage Guide - Learn how to use the wizard
Understanding the System
- Relationship Types - Understanding table relationships
- Global Choices Guide - Managing global choice sets
- Validation and Autofix - Automatic validation and fixes
Development & Testing
- Developer Architecture - Understand the system design
- Testing Guide - Run and write tests
Need Help?
- Browse the documentation
- Report issues on GitHub
Ready to get started? Head over to the Local Development Guide!