Skip to content
This repository was archived by the owner on Jul 8, 2026. It is now read-only.

Latest commit

 

History

History
230 lines (176 loc) · 9.07 KB

File metadata and controls

230 lines (176 loc) · 9.07 KB

IceCharts Logo

CI Docker Build Tests version License

IceCharts

Create. Collaborate. Export. Visualize Infrastructure and Diagrams.

IceCharts is a modern, web-based collaborative diagramming platform designed for creating, sharing, and exporting visual representations of infrastructure, system architectures, flowcharts, and organizational structures. Built with enterprise-grade features including real-time collaboration, version control, and seamless infrastructure integration.

Screenshots

Login Page
Login Page

Dashboard
Dashboard - Overview of recent activity and drawings

Drawings List
Drawings - Manage and organize your diagrams

Groups
Groups - Collaborate with teams

Templates
Templates - Start from pre-built diagram templates

Collections
Collections - Organize diagrams into collections

Settings
Settings - Configure your account and preferences

Diagramming
Dynamic and flow animated diagrams with thousands of icons - Make your diagrams accurate and alive!

Administration

Admin Users
User Management - Administer users and roles

Admin SSO
SSO Configuration - Configure Google OAuth, SAML, and OIDC authentication

Admin Storage
Storage Management - Monitor and manage storage usage

Admin Dashboard
Admin Dashboard - System statistics and monitoring

Key Features

Canvas & Drawing

  • Intuitive canvas editor for creating diagrams with shapes, connectors, and text
  • Rich shape library for system components, infrastructure, and flowchart elements
  • Smart connectors with automatic routing and customizable styling
  • Grid & snap-to-grid for precise alignment and professional layouts

Real-Time Collaboration

  • Multi-user editing with WebSocket-powered real-time synchronization
  • Presence awareness - see who's editing and where
  • Comments & annotations with threaded discussions on specific elements
  • Resolution tracking for design reviews and feedback cycles

Export & Sharing

  • Multiple export formats (SVG, PNG, PDF, JSON)
  • Customizable export options with scaling and resolution settings
  • Public sharing links for easy distribution and feedback
  • Version history with rollback capabilities

Infrastructure Integration

  • Elder API integration to import infrastructure entities as diagram shapes
  • Automatic entity mapping with color-coding by component type
  • Dependency visualization showing relationships between infrastructure elements
  • Live sync with infrastructure definitions

Enterprise Security

  • User authentication & authorization with role-based access control (RBAC)
  • OAuth/SSO integration for enterprise identity management
  • Team & group management with granular permissions
  • Audit logging for compliance and accountability

High Performance

  • PostgreSQL database with optimized queries and indexing
  • Redis caching for instant response times
  • MinIO object storage for efficient file management
  • Prometheus monitoring with Grafana dashboards

Getting Started

Prerequisites

  • Docker and Docker Compose
  • Node.js 18+ (for local frontend development)
  • Python 3.12+ (for local backend development)
  • Git

Quick Start with Docker Compose

# Clone the repository
git clone https://github.com/penguintechinc/IceCharts.git
cd IceCharts

# Copy environment template and configure if needed
cp .env.example .env

# Start all services
docker-compose up -d

# Access the application
# Web UI: http://localhost:3003
# API: http://localhost:5002
# Default credentials: admin@icecharts.local / admin123

Local Development Setup

# Install dependencies and setup environment
make setup

# Start development services
make dev

# Run tests
make test

# Build for production
make build

Documentation

Comprehensive documentation is available in the docs/ directory:

Technology Stack

Component Technology Version
Frontend React, TypeScript, Tailwind CSS 18+, Latest, 3.x
Backend Flask, Python, PyDAL Latest, 3.12+, Latest
Database PostgreSQL 17+
Cache Redis 7+
Storage MinIO (S3-compatible) Latest
Monitoring Prometheus, Grafana Latest, Latest
Containers Docker, Docker Compose Latest

Contributing

We welcome contributions! Please see CONTRIBUTING.md for guidelines, development workflow, and code standards.

Development Team

Support & Resources

License

This project is licensed under the Limited AGPL3 with preamble for fair use - see LICENSE.md for details.

License Highlights:

  • Personal & Internal Use: Free under AGPL-3.0
  • Commercial Use: Requires commercial license
  • SaaS Deployment: Requires commercial license if providing as a service

Contributor Employer Exception (GPL-2.0 Grant)

Companies employing official contributors receive GPL-2.0 access to community features:

  • Perpetual for Contributed Versions: GPL-2.0 rights to versions where the employee contributed remain valid permanently, even after the employee leaves the company
  • Attribution Required: Employee must be credited in CONTRIBUTORS, AUTHORS, commit history, or release notes
  • Future Versions: New versions released after employment ends require standard licensing
  • Community Only: Enterprise features still require a commercial license

This exception rewards contributors by providing lasting fair use rights to their employers. See LICENSE.md for full terms.