Home
Softono
d

datadrivenconstruction

Professional software vendor delivering innovative solutions on the Softono platform. Specialized in both open-source and proprietary software development.

Total Products
5

Software by datadrivenconstruction

DDC_Skills_for_AI_Agents_in_Construction
Open Source

DDC_Skills_for_AI_Agents_in_Construction

<h1 align="center">DDC Skills Collection for AI Coding Assistants</h1> <p align="center"> <strong>AI Tools for Construction Company Automation</strong> </p> <p align="center"> <img src="https://img.shields.io/badge/Skills-221-blue?style=flat-square" alt="Skills"> <img src="https://img.shields.io/badge/Categories-5-green?style=flat-square" alt="Categories"> <img src="https://img.shields.io/badge/Book_Languages-31-orange?style=flat-square" alt="Languages"> <img src="https://img.shields.io/badge/License-MIT-yellow?style=flat-square" alt="License"> </p> <p align="center"><img src="https://github.com/datadrivenconstruction/cad2data-Revit-IFC-DWG-DGN-pipeline-with-conversion-validation-qto/blob/main/DDC_in_additon/DDC_readme_content/DDC_Skills_Githhub3.png" alt="DDC Skills" width="90%"></p> <h3 align="center">Works with any AI coding assistant:</h3> <p align="center"> <a href="https://claude.ai/download"><img src="https://img.shields.io/badge/Claude_Code-191919?style=for-the-badge&logo=anthropic&logoColor=white" alt="Claude Code"></a> <a href="https://antigravity.google/"><img src="https://img.shields.io/badge/Google_Antigravity-4285F4?style=for-the-badge&logo=google&logoColor=white" alt="Google Antigravity"></a> <a href="https://github.com/nicepkg/opencode"><img src="https://img.shields.io/badge/OpenCode-333333?style=for-the-badge&logo=github&logoColor=white" alt="OpenCode"></a> <a href="https://github.com/clawdbot/clawdbot"><img src="https://img.shields.io/badge/ClawdBot-FF6B35?style=for-the-badge&logoColor=white" alt="ClawdBot"></a> </p> --- ## What is this? A collection of **221 skills** for automating construction company processes with AI coding assistants. ### What is a "Skill"? A skill is a `SKILL.md` file — structured instructions that an AI coding assistant can read and execute. Each skill describes a specific task: what problem it solves, what code to generate, and what tools are needed. You open a skill folder in your AI assistant, and it helps you implement the described functionality. --- ## Collection Structure Skills are organized by source and complexity level: | Category | What's inside | Skills | Start here if... | |----------|---------------|--------|------------------| | **1_DDC_Toolkit** | Production-ready tools: CWICR database, CAD converters, analytics | 85 | You need a working tool now | | **2_DDC_Book** | Skills mapped to book chapters: data evolution, types, estimation, ML | 67 | You want to follow a structured learning path | | **3_DDC_Insights** | Practical workflows: n8n automation, AI agents, field tools | 20 | You need workflow automation | | **4_DDC_Curated** | Document generation (PDF, Excel, DOCX, PPTX), quality checks | 20 | You need document or report templates | | **5_DDC_Innovative** | Advanced: computer vision, IoT, digital twins, risk assessment | 29 | You're ready for AI/ML experimentation | ```mermaid mindmap root((DDC Skills<br/>221 skills)) 1_DDC_Toolkit CWICR Database 55,719 work items 31 languages CAD Converters RVT → Excel IFC → Excel DWG → Excel Analytics KPI Dashboard Cost Analysis 2_DDC_Book Part I: Data Evolution Part II: Data Types Part III: Estimation Part IV: Analytics & ML Part V: Threats & Strategy 3_DDC_Insights n8n Workflows Daily Reports Photo Reports AI Agents 2026 Field Automation 4_DDC_Curated Document Generation PDF, Excel DOCX, PPTX Quality Assurance 5_DDC_Innovative AI/ML Skills Defect Detection Risk Assessment IoT & Sensors Advanced BIM Digital Twin ``` --- ## Where to Start ### If you manage or lead a construction company: **Step 1.** Read [GETTING_STARTED.md](GETTING_STARTED.md) — a non-technical overview of what can be automated and how to prioritize. **Step 2.** Download the [Data-Driven Construction](Books/) book (free, 31 languages) — it explains the methodology behind these skills: how to assess your company's data maturity, identify bottlenecks, and plan digital transformation. **Step 3.** Identify your biggest pain point in the table below and start with the corresponding skill. ### If you are a developer or IT lead: **Step 1.** Install prerequisites (see [Prerequisites](#prerequisites)). **Step 2.** Pick a skill from the table below, open its folder in your AI assistant, and follow the `SKILL.md`. **Step 3.** Adapt the generated code to your data and deploy. --- ## What Can You Automate? Examples of common problems and which skills address them: | Your problem | What the skill does | Skill to run | Folder | |--------------|---------------------|--------------|--------| | Searching for work item rates takes too long | Semantic search across 55,719 items in 31 languages | `semantic-search-cwicr` | `1_DDC_Toolkit/` | | Estimators spend days building estimates manually | Generates estimates from historical data and templates | `estimate-builder` | `1_DDC_Toolkit/` | | BIM models contain data but it's locked in RVT/IFC files | Extracts quantities and properties to Excel | `ifc-to-excel`, `rvt-to-excel` | `1_DDC_Toolkit/` | | Daily/weekly reports take hours to compile | Automated data collection and report generation | `n8n-daily-report` | `3_DDC_Insights/` | | Site photos pile up with no organization | AI classifies and tags site photos automatically | `n8n-photo-report` | `3_DDC_Insights/` | | Data is scattered across Excel files, emails, PDFs | Finds all data sources and maps dependencies | `data-silo-detection` | `2_DDC_Book/` | | No visibility into project KPIs | Dashboard with real-time metrics from your data | `kpi-dashboard` | `1_DDC_Toolkit/` | | Budget overruns discovered too late | Scheduled budget vs. actual comparison | `budget-tracker` | `1_DDC_Toolkit/` | | PDF specifications need to be searchable | Extracts text and tables from PDFs into structured data | `specification-extractor` | `2_DDC_Book/` | | Schedule delays are hard to predict | Statistical analysis of schedule variance patterns | `schedule-delay-analyzer` | `3_DDC_Insights/` | *This is a selection of examples. The full collection contains 221 skills covering estimation, reporting, BIM, document processing, analytics, and more.* --- ## How to Use a Skill ``` 1. Clone this repository git clone https://github.com/datadrivenconstruction/DDC_Skills_for_AI_Agents_in_Construction.git 2. Open a skill folder in your AI assistant cd DDC_Skills_for_AI_Agents_in_Construction/1_DDC_Toolkit/CWICR-Database/semantic-search-cwicr/ 3. The assistant reads SKILL.md and generates the code for you 4. Review, adapt to your data, and run ``` ### Example: ETL Pipeline ```python # Automatic processing of all Excel files from a folder import pandas as pd from pathlib import Path # Extract all_data = [pd.read_excel(f) for f in Path("./estimates/").glob("*.xlsx")] df = pd.concat(all_data) # Transform df['Total'] = df['Quantity'] * df['Unit_Price'] summary = df.groupby('Category')['Total'].sum() # Load summary.to_excel("summary_report.xlsx") ``` --- ## Implementation Path A typical automation project follows these stages. You don't need to do all of them — start with what solves your most pressing problem. | Stage | What you do | Which skills help | |-------|-------------|-------------------| | **1. Audit** | List all data sources in your company (Excel files, databases, BIM models, PDFs, emails) | `data-silo-detection`, `data-source-audit` | | **2. Classify** | Understand what data you have: structured, semi-structured, or unstructured | `data-type-classifier`, `data-profiler` | | **3. Connect** | Build ETL pipelines to extract and normalize data | `etl-pipeline`, `ifc-to-excel`, `specification-extractor` | | **4. Automate** | Set up recurring reports, alerts, and dashboards | `n8n-daily-report`, `kpi-dashboard`, `budget-tracker` | | **5. Analyze** | Apply analytics and ML to find patterns and predict outcomes | `cost-prediction`, `schedule-forecaster`, `risk-assessment` | Each stage builds on the previous one, but you can enter at any point depending on your current state. --- ## How Does It Work? Each step in the implementation path corresponds to specific skills and tools: ```mermaid flowchart LR subgraph S1["STEP 1"] A[Audit<br/>Find Data Silos] end subgraph S2["STEP 2"] B[Classify<br/>Data Types] end subgraph S3["STEP 3"] C[Connect<br/>ETL Pipelines] end subgraph S4["STEP 4"] D[Automate<br/>Reports & Dashboards] end subgraph S5["STEP 5"] E[Analyze<br/>ML & Predictions] end A --> B --> C --> D --> E A1[data-silo-detection<br/>data-source-audit] -.-> A B1[data-type-classifier<br/>data-profiler] -.-> B C1[etl-pipeline<br/>ifc-to-excel] -.-> C D1[n8n-daily-report<br/>kpi-dashboard] -.-> D E1[cost-prediction<br/>schedule-forecaster] -.-> E style S1 fill:#ffebee style S2 fill:#fff3e0 style S3 fill:#e8f5e9 style S4 fill:#e3f2fd style S5 fill:#f3e5f5 ``` --- ## Data Types in Construction Construction data comes in three forms. Each requires a different processing approach, and each has corresponding skills: ```mermaid flowchart TB subgraph STRUCTURED["STRUCTURED"] S1[Excel] S2[SQL Database] S3[CSV] end subgraph SEMI["SEMI-STRUCTURED"] M1[IFC/BIM] M2[JSON] M3[XML] end subgraph UNSTRUCTURED["UNSTRUCTURED"] U1[PDF] U2[Photos] U3[Scans] end STRUCTURED -->|SQL queries, pandas| DB[(Central<br/>Database)] SEMI -->|ifcopenshell, parsers| DB UNSTRUCTURED -->|AI/OCR, pdfplumber| DB DB --> AUTO[Automation & Analytics] style STRUCTURED fill:#c8e6c9 style SEMI fill:#fff9c4 style UNSTRUCTURED fill:#ffcdd2 style DB fill:#e1f5fe style AUTO fill:#f3e5f5 ``` | Data type | Examples | Skills that process it | |-----------|----------|----------------------| | **Structured** | Excel, CSV, SQL databases | `etl-pipeline`, `estimate-builder`, `budget-tracker` | | **Semi-structured** | IFC/BIM models, JSON, XML | `ifc-to-excel`, `rvt-to-excel`, `dwg-to-excel` | | **Unstructured** | PDF documents, photos, scans | `specification-extractor`, `n8n-photo-report`, `document-ocr` | --- ## Prerequisites | Requirement | Details | |-------------|---------| | **Python 3.9+** | Most skills use Python scripts | | **AI Coding Assistant** | Claude Code, Cursor, Copilot, or similar | | **Basic Python knowledge** | Ability to run scripts and install packages | | **Your data** | Excel files, PDFs, or BIM models to process | Optional for advanced skills: - Docker (for n8n workflows) - PostgreSQL or SQLite (for database skills) - OpenAI API key (for LLM-based skills) ### Installation ```bash pip install pandas openpyxl ifcopenshell pdfplumber ``` --- ## Data Flow in Construction Skills cover the typical data pipeline: from raw input files to processed, actionable outputs. ```mermaid flowchart LR subgraph INPUT["📥 YOUR DATA"] A1[Excel Estimates] A2[Revit/IFC Models] A3[Site Photos] A4[PDF Documents] end subgraph DDC["⚙️ DDC SKILLS"] B1[ETL Pipeline] B2[IFC Parser] B3[AI Analysis] B4[Document OCR] end subgraph OUTPUT["📤 RESULTS"] C1[Auto Reports] C2[Auto Estimates] C3[Progress Tracking] C4[Searchable Data] end A1 --> B1 --> C1 A2 --> B2 --> C2 A3 --> B3 --> C3 A4 --> B4 --> C4 style INPUT fill:#e1f5fe style DDC fill:#fff3e0 style OUTPUT fill:#e8f5e9 ``` Construction data comes in three forms. Each requires a different processing approach: | Data type | Examples | How skills process it | |-----------|----------|----------------------| | **Structured** | Excel, CSV, SQL databases | Direct queries and transformations | | **Semi-structured** | IFC/BIM models, JSON, XML | Parsing with specialized libraries | | **Unstructured** | PDF documents, photos, scans | AI/OCR extraction to structured format | --- ## Folder Structure ``` DDC_Skills/ │ ├── 1_DDC_Toolkit/ ← Production tools (85 skills) │ ├── CWICR-Database/ ← 55,719 work items database │ ├── CAD-Converters/ ← Revit/IFC/DWG → Excel │ └── ... │ ├── 2_DDC_Book/ ← Skills from the book (67 skills) │ ├── 1.1-Data-Evolution/ ← Digital maturity assessment │ ├── 1.2-Data-Silos-Integration/ ← Find & connect data sources │ ├── 3.1-Cost-Estimation/ ← Build estimates from data │ ├── 4.2-ETL-Automation/ ← Automate data pipelines │ └── ... │ ├── 3_DDC_Insights/ ← Practical workflows (20 skills) │ ├── Automation-Workflows/ ← n8n automation │ ├── AI-Agents/ ← Multi-agent systems (2026) │ ├── Field-Automation/ ← Telegram bot, voice reports │ └── Open-Data-Transparency/ ← Uberization readiness │ ├── 4_DDC_Curated/ ← External skills (20 skills) │ ├── Document-Generation/ ← PDF/Excel/DOCX/PPTX generation │ └── Quality-Assurance/ ← Quality checks │ ├── 5_DDC_Innovative/ ← Advanced AI/ML skills (29 skills) │ ├── defect-detection-ai/ ← Computer vision for defects │ ├── digital-twin-sync/ ← Real-time BIM sync │ └── ... │ ├── Books/ ← Free book downloads (31 languages) ├── GETTING_STARTED.md ← START HERE └── README.md ← You are here ``` --- ## Documentation | Document | Description | Audience | |----------|-------------|----------| | [**GETTING_STARTED.md**](GETTING_STARTED.md) | Step-by-step automation guide | Executives, beginners | | [OPTIMIZER_GUIDE.md](OPTIMIZER_GUIDE.md) | How to work effectively with AI assistants | Developers | | [IMPROVEMENT_ROADMAP.md](IMPROVEMENT_ROADMAP.md) | Collection development plan | Contributors | --- ## Potential Time Savings Automation results vary depending on company size, data quality, and implementation effort: | Process | Manual approach | With automation | |---------|-----------------|-----------------| | Find work item rate | Search through price books | Database query with filters | | Daily report compilation | Collect data from multiple sources | Pre-configured data aggregation | | IFC quantity extraction | Open model, measure manually | Script-based extraction to Excel | | Budget variance tracking | Weekly spreadsheet updates | Scheduled comparison reports | | Document organization | Manual folder sorting | Metadata-based classification | *Results depend on data preparation and workflow complexity. See [GETTING_STARTED.md](GETTING_STARTED.md) for implementation guidance.* --- ## About the Book **The majority of skills are based on the book ["Data-Driven Construction"](Books/)** — a methodology for digital transformation in construction. The book explains the reasoning behind each skill category: why data silos matter, how to classify your data, and what to automate first. <table> <tr> <td width="180"> <a href="Books/"> <img src="https://datadrivenconstruction.io/wp-content/uploads/2024/03/DDC-Book-5.jpg" alt="Data-Driven Construction Book" width="160"> </a> </td> <td> **Book structure maps to skills:** 1. **Part I** — Data landscape assessment → `2_DDC_Book/1.1-*`, `1.2-*` 2. **Part II** — Data types and classification → `2_DDC_Book/2.1-*` through `2.6-*` 3. **Part III** — Estimation and scheduling → `2_DDC_Book/3.1-*` through `3.3-*` 4. **Part IV** — Analytics and ML → `2_DDC_Book/4.1-*` through `4.5-*` 5. **Part V** — Threats and long-term strategy → `2_DDC_Book/5.*` **[Download Free in 31 Languages →](Books/)** </td> </tr> </table> --- ## Resources | Resource | Link | |----------|------| | Book (All Languages) | https://datadrivenconstruction.io/books/ | | Website | https://datadrivenconstruction.io | | CWICR Demo | https://openconstructionestimate.com | | GitHub | https://github.com/datadrivenconstruction | | CWICR Database | https://github.com/datadrivenconstruction/OpenConstructionEstimate-DDC-CWICR | | CAD2Data Pipeline | https://github.com/datadrivenconstruction/cad2data-Revit-IFC-DWG-DGN-pipeline-with-conversion-validation-qto | --- ## Support the Project If you find these tools useful, please give the repository a star — it helps others discover these resources. <p align="center"> <a href="https://github.com/datadrivenconstruction/DDC_Skills_for_AI_Agents_in_Construction"> <img src="https://img.shields.io/github/stars/datadrivenconstruction/DDC_Skills_for_AI_Agents_in_Construction?style=social" alt="GitHub stars"> </a> </p> **Related repositories:** | Repository | Description | |------------|-------------| | [OpenConstructionEstimate-DDC-CWICR](https://github.com/datadrivenconstruction/OpenConstructionEstimate-DDC-CWICR) | 55,719 work items database in 31 languages | | [cad2data Pipeline](https://github.com/datadrivenconstruction/cad2data-Revit-IFC-DWG-DGN-pipeline-with-conversion-validation-qto) | Revit/IFC/DWG/DGN to Excel converter | --- ## Contributing Contributions are welcome: - **Report issues** — bugs, unclear documentation, broken links - **Suggest skills** — describe the automation you need - **Submit PRs** — new skills, improvements, translations Each skill should include a `SKILL.md` with clear instructions and working code examples. --- ## License - **CWICR Database**: CC BY 4.0 - **DDC Tools**: MIT License - **Skills**: MIT License --- ## Trademarks All product names, logos, and brands mentioned in this repository are property of their respective owners. All company, product and service names used are for identification purposes only. Use of these names, logos, and brands does not imply endorsement. - IFC is an open standard by buildingSMART International - File format references (RVT, DWG, DGN, NWD, etc.) are used for technical interoperability purposes only --- **Start here → [GETTING_STARTED.md](GETTING_STARTED.md)**

AI Agents Manufacturing & MRP
161 Github Stars
cad2data-Revit-IFC-DWG-DGN
Open Source

cad2data-Revit-IFC-DWG-DGN

cad2data-Revit-IFC-DWG-DGN is an automated workflow solution designed for extracting and transforming construction data from CAD and BIM files including Revit, IFC, DWG, and DGN formats. Operating on local Windows machines, it utilizes command-line converters to eliminate vendor lock-in and avoid the need for expensive software licenses like Autodesk. The tool supports batch processing, grouping, validation, and data checks to ensure integrity before transformation. Key outputs include structured data in Excel, CSV, HTML, PDF, and IFC formats, as well as 3D visualizations. It features specialized pipelines for quantity take-off reports and construction cost estimation. The system is engineered for AI agent integration, providing ready context and instructions to enable automation of complex classification tasks using Retrieval Augmented Generation. It offers flexible execution via command prompts, PowerShell, or visual workflow interfaces like n8n, making it ideal for continuous integration and deployment in

AI Agents Workflow Automation
402 Github Stars
CAD-BIM-to-Code-Automation-Pipeline-DDC-Workflow-with-LLM-ChatGPT
Open Source

CAD-BIM-to-Code-Automation-Pipeline-DDC-Workflow-with-LLM-ChatGPT

<p align="center"> <a href="https://datadrivenconstruction.io"> <img src="https://datadrivenconstruction.io/wp-content/uploads/2025/06/n8n-pipeline-1.png" alt="DDC Logo" width="100%"/> </a> </p> # 🚀 CAD-(BIM)-to-Code Automation Pipeline with LLM (ChatGPT) **Revit (.rvt), AutoCAD (.dwg), IFC, MicroStation (.dgn) → Excel + AI-Generated Python Analysis — no Autodesk® or openBIM tools required** > 🔄 Built for fully offline workflows using [n8n](https://n8n.io) + [DataDrivenConstruction Converters](https://cadbimconverter.com) --- ## 🛠 Features - 🔄 Convert `.rvt`, `.ifc`, `.dwg` to: - 📊 Excel (element data as a matrix - project elements in the rows, all properties of all elements in the columns)) - 🧱 Polygonal geometry (only Revit and IFC) into an open geometric format `.dae` (Collada) - 📋 Schedules (only for Revit) - 📄 Drawing Sheets (PDF) (only for Revit) - ✅ Quality Control with validation rules - 🤖 Ask AI to generate custom Python code - 📈 Instantly get charts, stats, summaries from your model --- ## 📦 Installation Guide ### 1. Install `n8n` on Windows Before installing n8n, make sure **Node.js** (which includes `npm`) is installed: - Download from: [https://nodejs.org/en/download](https://nodejs.org/en/download) ```bash & cmd npx install -g n8n n8n start ``` or ``` bash & cmd npx n8n ``` Or download desktop app: [n8n.io/download](https://n8n.io/download) ### 2. Download Converters Either use the converters that are in the repository or download the always fresh ones directly from the site: | Format | Converter | Download | |-----------------------|-------------------|----------| | Revit (.rvt) | `RvtExporter.exe` | [Download](https://cadbimconverter.com/convertors/) | | IFC | `IfcExporter.exe` | [Download](https://cadbimconverter.com/convertors/) | | AutoCAD (.dwg) | `DwgExporter.exe` | [Download](https://cadbimconverter.com/convertors/) | | MicroStation (.dgn) | `DgnExporter.exe` | [Download](https://cadbimconverter.com/convertors/) | --- ## ⚙️ Quick Setup 1. Clone or import the workflow: [⬇ Download JSON file](./CAD_BIM_to_Code_Automation_Pipeline_DDC_Workflow.json) 2. In **n8n**, import the workflow via "Import from file". 3. Configure paths: - Set absolute path to `RvtExporter.exe` in the `$INPUTS$` node. - Example: ``` C:\out\DDC-Converters\RvtExporter.exe ``` --- ## 🎯 Workflow Overview ```mermaid graph TD; A[📋 Upload RVT/IFC/DWG/DGN file] --> B[📁 Create Workspace] B --> C[⚙️ Run Pipeline-Converter] C --> D{✅ Success?} D -->|Yes| E[📥 Read Excel, PDFs, Schedules] D -->|No| F[❌ Show Error] E --> G[🔍 Validate with Excel Rules] G --> H[🤖 AI Code Generator] H --> I[📊 Charts, Stats, Python Output] ``` --- ## 💬 Example Use - Upload your `.rvt` file - Choose options: _sheets_, _schedules_, _bounding box_ - AI understands your prompt: > “Group by `Type Name`, sum `Volume`, and show a bar chart.” You'll get the result instantly — no coding needed. --- ## 📎 Extras - 📘 Validation template: [DDC Revit & IFC Validation Table](https://github.com/datadrivenconstruction/Revit-IFC-Verification/raw/main/DDC%20Revit%20and%20IFC%20Validation.xlsx) - 📊 Example AI-generated outputs: grouped tables, bar plots, summaries --- ## 🧠 Powered by - [`n8n`](https://n8n.io/) - [`DataDrivenConstruction.io`](https://datadrivenconstruction.io) - Offline `.exe` converters (no Autodesk® tools required) --- ## 🛟 Support Need help or ideas for automation? Visit 👉 [https://datadrivenconstruction.io](https://datadrivenconstruction.io) or open an issue in this repo. <p align="center"> <a href="https://datadrivenconstruction.io"> <img src="https://datadrivenconstruction.io/wp-content/uploads/2023/07/DataDrivenConstruction-1-1.png" alt="DDC Logo" width="200"/> </a> </p>

ML Frameworks Workflow Automation
31 Github Stars
Project-management-n8n-with-task-management-and-photo-reports
Open Source

Project-management-n8n-with-task-management-and-photo-reports

# Project Management: Universal Task and Report Management System ![n8n](https://img.shields.io/badge/Platform-n8n-orange?style=flat-square) ![Telegram](https://img.shields.io/badge/Integration-Telegram-blue?style=flat-square&logo=telegram) ![Google Sheets](https://img.shields.io/badge/Integration-Google%20Sheets-green?style=flat-square&logo=google) Welcome to the **Project Management** system repository! This is a universal automated free workflow based on n8n, designed for managing tasks and reports in any "manager-executor" relationships. The system uses a Telegram bot as a convenient interface for interaction, Google Sheets (or can be connected to any other spreadsheets) for data storage and automatic reminders about tasks and reports. ### 📋 Demo bot for task management - 🤖 **Test Bot:** [@ProjectManagementTasks_Bot](https://t.me/ProjectManagementTasks_Bot) ⚠️ May be unavailable sometimes as it runs on a VPS which is not always on. - 📊 **Report Spreadsheet:** [Google Sheets](https://docs.google.com/spreadsheets/d/1fWi_0W_jqKa61h2oB3zZLdTDBK8_cQ123RtF70X1rwc) 🚀 **Key advantages**: - **Universality**: Suitable for any scenarios — from construction projects to household chores, including task control for children, employees or contractors. - **Automation**: Sending reminders, collecting text and photo reports, GPS markers and automatic data saving. - **Simplicity**: Executors interact through Telegram, and managers manage through a spreadsheet (e.g., Google Sheets). - **Flexibility**: The minimal set of parameters in the table can be supplemented with data from real conditions (e.g., weather, comments, photos, GPS). The system allows managers to set tasks with minimal description, and executors supplement them with real data (status, comments, photos, geolocation), forming a complete picture of execution. The system is integrated with Telegram and Google Sheets, providing a convenient management interface. ![Application](https://datadrivenconstruction.io/wp-content/uploads/2025/07/App-Manager-1.jpg) --- ## 📋 System Features - **Executor Registration** 👤: Automatic via `/start` with name and role request (e.g., "employee", "child", "contractor"). - **Task Reminders** ⏰: Distribution of tasks with priorities (🔴 High, 🟡 Medium, 🟢 Low) from the spreadsheet (Google Sheets). - **Reports** 📝: - **Text**: Status (completed/partially/not completed) + comment. - **Photo**: Support for multiple files with comments, upload to Google Drive. - **Geolocation**: GPS for linking to tasks (e.g., execution location or whereabouts). - **Bot Commands** 🤖: - `/start` — Registration. - `/help` — Help on usage. - `/status` — Report status for the day. - `/prochital` — Confirmation of reading reminders. - `/poluchil` — Confirmation of receiving tasks. - **Automation** 🔄: Checks run every minute, real-time status updates. - **Flexible Storage**: Spreadsheet (Google Sheets in this example) as a database for tasks with minimal parameters, which are supplemented by executors. --- ## 🌟 Universal Application The system is suitable for any "manager-executor" relationships where you need to set tasks, track execution and collect reports. Here are several examples: 1. **Construction and Contractors** 🏗️: - Manager: Assigns tasks (e.g., "Lay 10 m² of tiles") and requests photo reports (work log, welding). - Executor: Sends status ("completed"), photos and construction site GPS. - Additions: Weather, comments about problems (e.g., "no materials"). 2. **Household Chores and Children** 👨‍👩‍👧: - Manager (parent): Sets tasks ("Do homework", "Clean room") with reminder time. - Executor (child): Confirms completion with text ("done") or photo (cleaned room). - Additions: Comments ("Did math, but need help with physics"). 3. **Office and Employees** 💼: - Manager: Assigns tasks ("Prepare presentation by 3:00 PM") with priorities. - Executor: Responds with status ("ready") and attaches file/screenshot. - Additions: Comments about progress or problems. 4. **Logistics and Delivery** 🚚: - Manager: Sets route or task ("Deliver cargo to point A"). - Executor: Sends delivery point GPS, cargo photo. - Additions: Delivery time, cargo condition. 5. **Freelance and Projects** 💻: - Manager: Assigns tasks ("Develop design") with deadlines. - Executor: Sends intermediate results (screenshots, files). - Additions: Remarks or clarifications on the task. The system allows starting with minimal task description (ID, name, executor, time) and supplementing it with real executor data (status, photos, comments, GPS), making it universal for any scenarios. --- ## 📸 System Workflow Stages ### 1. New Executor Registration The manager adds an executor by sending the bot name. The executor goes to the bot and presses `/start` in Telegram. The bot requests name and role (e.g., "Child" or "Contractor"), then automatically records the data in the spreadsheet. This is the first step to begin interaction. ![Executor Registration](https://datadrivenconstruction.io/wp-content/uploads/2025/07/Registration-of-new-users.jpg) ### 2. Task Creation and Reminders by Manager The manager opens the task spreadsheet and fills in the table with minimal parameters: Task_ID, Executor, Date, Send Time, Task and Priority. After saving, the system checks the table every minute and sends reminders to the executor via Telegram at the specified time. ![Task Creation](https://datadrivenconstruction.io/wp-content/uploads/2025/07/Creating-a-task.jpg) ### 3. Executor Responds to Messages The executor receives a reminder in Telegram and responds to it. For example, sends text status ("completed" with comment), attaches photo (e.g., completed work) or shares geolocation. All data is automatically updated in the spreadsheet. ![Executor Response](https://datadrivenconstruction.io/wp-content/uploads/2025/07/Response-by-the-performer.jpg) ### 4. Application and General Overview After process completion, all data (statuses, photos, comments, GPS) is collected in a unified system. The manager can view them in the spreadsheet or use Telegram for quick access to information. This is a convenient management interface. ![Table Parameters](https://datadrivenconstruction.io/wp-content/uploads/2025/07/Parameters-filled-in-by-the-manager-and-user.jpg) --- ## 🛠 Requirements To run, you will need: - **n8n** (version 1.0+): Self-hosted or cloud. - **Telegram Bot**: Token from [@BotFather](https://t.me/BotFather). - **Google Account**: - Sheets for storing tasks and reports (template in repository). - Drive for uploading photos/files. - OAuth2 for API (Sheets + Drive). --- ## 🚀 Installation and Setup ### 1. Clone the repository or simply download it to your computer ```bash git clone https://github.com/your-username/project-manager-pipeline.git cd project-manager-pipeline ``` ### 2. Create a Telegram bot - In the official Telegram bot [@BotFather](https://t.me/BotFather) create a bot and get a token. - In n8n: Credentials → Add → Telegram API → Paste token. ### 3. Set up Google Sheets and Drive - Copy or import the spreadsheet template in this repository (`Project management - task management, reminders, and photo reports.xlsx`) to Google Sheets. - Sheets: - **Tasks**: For tasks (ID, executor, date, time, priority). - **Photo Report Log**: For reports (ID, type, date, time). - **Executors**: For user registration. - **Auxiliary Lists**: For report types and intervals. - In n8n: Credentials → Add → Google Sheets OAuth2 API. - In Google Cloud Console: Enable Sheets and Drive API. - Scopes: `https://www.googleapis.com/auth/spreadsheets`, `https://www.googleapis.com/auth/drive`. - Share the spreadsheet and Drive with the Google service account. ### 4. Import Workflow to n8n - In n8n: Workflows → Import from File → Upload `Project-management-n8n-with-task-management-and-photo-reports.json`. - Connect credentials: - Telegram: To Telegram Trigger and Telegram nodes. - Google: To Google Sheets and Drive nodes, specify spreadsheet ID. - Activate webhook: - n8n will generate URL for Telegram Trigger. - Set webhook: ```bash curl https://api.telegram.org/bot[TOKEN]/setWebhook?url=[n8n-URL] ``` ### 5. Configure the spreadsheet - **Tasks**: Add rows with fields: Task_ID, Executor, Date (DD.MM.YYYY), Send Time (fraction of day, e.g., 0.5 = 12:00), Task, Object, Section, Priority, Executor ID (Telegram ID). - **Photo Reports**: Specify Report_ID, Report Type (from auxiliary sheet), Date and Time. - **Intervals**: In "Auxiliary Lists" configure report types (e.g., "Cleaning Photo", "Homework Report") and reminder intervals (e.g., 01:00). ### 6. Test - Send `/start` in chat with bot — register. - Add test task to spreadsheet — wait a minute, bot will send reminder. - Reply with text, photo or GPS — check update in spreadsheet. --- ## 📖 How to Use ### For Managers 🧑‍💼 1. **Create tasks/reports**: - In Google Sheets add a task or report with minimal parameters (ID, executor, time, description). - Bot will automatically send reminders at the specified time. 2. **Monitor**: - Check spreadsheet: statuses, photos (Drive links), comments, GPS. - Use filters in Sheets by date, executor or status. 3. **Customize**: - Add your task/report types in "Auxiliary Lists". - Configure reminder intervals. ### For Executors 👷 1. **Registration**: Write `/start`, specify name and role (e.g., "Child", "Employee"). 2. **Receiving reminders**: - Bot sends tasks/reports at specified time. 3. **Sending reports**: - **Tasks**: Reply to message in format: ``` completed Everything is fine ``` (or "partially" / "not completed" + comment, e.g., "Waiting for materials"). - **Photo**: Attach photo in response to reminder, add comment (e.g., "Cleaned up"). - **GPS**: Send geolocation in response to report if required. 4. **Confirmations**: - `/prochital` — for photo reports. - `/poluchil` — for tasks. 5. **Status**: `/status` — list of reports for the day. 6. **Manual report**: `/report` → select type (1-5). All data is saved automatically — just reply in Telegram! --- ## 🔧 Workflow Structure - **Input**: Telegram Webhook for message processing. - **Registration**: Check and record executors in Google Sheets. - **Processing**: Nodes for parsing text, photos, GPS. - **Automation**: Cron (every minute) for sending reminders. - **Output**: Update Sheets/Drive, send confirmations. Edit in n8n for customization (e.g., add manager notifications). --- ## ⚠️ Possible Issues - **Bot not responding**: Check webhook and workflow status in n8n. - **Google errors**: Ensure correct scopes and access to Sheets/Drive. - **Time**: Set timezone in n8n to "Europe/Minsk" (or your region). - **Logs**: Check errors in Executions section in n8n. --- ## 📑 Community and Discussion 📑 Start of discussion of the n8n task manager workflow in the "n8n Development" group: [Discussion](https://t.me/datadrivenconstruction) Want to discuss new automation pipelines, share your cases or get help? You can find more automation examples in the GitHub repository or in our Telegram chat "n8n Development | Automation practice and ready-made solutions". Join our Telegram community for live discussions, tips and exclusive content. ![Executor Response](https://datadrivenconstruction.io/wp-content/uploads/2025/07/DataDrivenConstruction-and-n8n-in-construction-1.jpg) --- ## Contributors - [Artem Boiko](https://github.com/DataDrivenConstruction) — Developer. ## Contributing We welcome contributions! Please feel free to: - Report bugs - Suggest features - Submit pull requests - Improve documentation ## Support - 🌐 **Website**: [DataDrivenConstruction.io](https://datadrivenconstruction.io) - 💬 **Issues**: [GitHub Issues](https://github.com/datadrivenconstruction/Project-management-n8n-with-task-management-and-photo-reports/issues) - 📧 **Email**: [email protected] ## Consulting & Industry Training We work with leading construction, engineering, major consulting agencies and technology firms around the world to help them implement open data principles, automate CAD/BIM processing and build robust ETL pipelines. Our team provides hands-on workshops, strategic advice and prototyping with real-world project workflows in mind.Over the last few years we have actively supported organisations seeking practical solutions for digital transformation and interoperability. Many have enquired about solving data quality problems - wanting to implement the open and automated methods we advocate. Today, these approaches are used in all planning, design and construction workflows around the world. Contact us for a free consultation where we'll discuss your challenges and demonstrate how n8n automation can transform your operations. Reach out via Telegram at [@DataDrivenConstruction](https://t.me/datadrivenconstruction) or visit our website at [datadrivenconstruction.io](https://datadrivenconstruction.io) to learn more about our services and see examples of successful implementations. --- <p align="left"> <a href="https://datadrivenconstruction.io"> <img src="https://datadrivenconstruction.io/wp-content/uploads/2023/07/DataDrivenConstruction-1-1.png" alt="DDC Logo" width="200"/> </a> <br> <b> Unlock the Power of Data in Construction</b> <br> 🚀 Move to full-cycle data management where only unified <br /> structured data & processes remain and where 🔓 your data is yours </p>

Project Management Workflow Automation
29 Github Stars
OpenConstructionERP
Open Source

OpenConstructionERP

<div align="center"> # OpenConstructionERP ### A leading open-source workspace for construction project management Professional BOQ, 4D scheduling, 5D cost model, and tendering - all in one open-source platform. **Like WordPress for construction companies** - pick modules from the marketplace, drop in your own, or replace ours with custom-built ones. Same plug-and-play model, but for BOQ, scheduling, cost control, BIM, and tendering. [▶ Watch the 12-min walkthrough](https://www.youtube.com/watch?v=X06cIaroAeI) · [Demo](https://openconstructionerp.com) · [Documentation](https://openconstructionerp.com/docs) · [Discussions](https://t.me/datadrivenconstruction) · [Report Bug](https://github.com/datadrivenconstruction/OpenConstructionERP/issues) [![License](https://img.shields.io/badge/license-AGPL--3.0-blue)](LICENSE) [![Version](https://img.shields.io/github/v/release/datadrivenconstruction/OpenConstructionERP?label=version&color=green&v=7.3.0)](https://github.com/datadrivenconstruction/OpenConstructionERP/releases/latest) [![PyPI](https://img.shields.io/pypi/v/openconstructionerp?color=informational&label=pypi&v=7.3.0)](https://pypi.org/project/openconstructionerp/) [![Downloads (pepy · per month)](https://static.pepy.tech/personalized-badge/openconstructionerp?period=month&units=international_system&left_color=grey&right_color=blue&left_text=downloads%20(pepy%20%C2%B7%20per%20month))](https://pepy.tech/project/openconstructionerp) [![Stars](https://img.shields.io/github/stars/datadrivenconstruction/OpenConstructionERP?style=flat&logo=github)](https://github.com/datadrivenconstruction/OpenConstructionERP/stargazers) <br/> [![Last commit](https://img.shields.io/github/last-commit/datadrivenconstruction/OpenConstructionERP?color=informational)](https://github.com/datadrivenconstruction/OpenConstructionERP/commits/main) ![Languages](https://img.shields.io/badge/languages-27-orange) ![Cost Items](https://img.shields.io/badge/cost_items-55%2C000%2B-red) <img src="docs/screenshots/hero-overview.png" alt="OpenConstructionERP - open-source construction ERP for BOQ, BIM takeoff, DWG/PDF quantification and 5D cost modeling" width="800" /> <video src="https://github.com/user-attachments/assets/20b9b585-93ac-4829-a3dc-0ede9ca9e2fc" controls width="800" playsinline> <a href="https://github.com/datadrivenconstruction/OpenConstructionERP/releases/download/v2.0.0/oce_full_demo.mp4">▶ 1-minute teaser (your browser can't inline this - click for full 12-min walkthrough)</a> </video> <sub><picture><source media="(prefers-color-scheme: dark)" srcset="docs/readme-icons/device-camera-video-dark.svg"><img src="docs/readme-icons/device-camera-video-light.svg" width="14" align="center" alt=""></picture> <b>1-minute teaser above</b> · for the full 12-minute walkthrough → <a href="https://www.youtube.com/watch?v=X06cIaroAeI"><b>watch on YouTube</b></a> · onboarding → BoQ → BIM → DWG → PDF → AI → dashboard</sub> <br/><br/> ### Download the free desktop app <sub>No Python, no Docker, nothing to set up. Pick your system and run it.</sub> <a href="https://github.com/datadrivenconstruction/OpenConstructionERP/releases/latest"><img src="https://img.shields.io/badge/Windows-Download%20.exe-0078D6?style=for-the-badge&logo=windows11&logoColor=white" alt="Download OpenConstructionERP for Windows" height="46"></a> &nbsp;&nbsp; <a href="https://github.com/datadrivenconstruction/OpenConstructionERP/releases/latest"><img src="https://img.shields.io/badge/macOS-Download%20.dmg-111111?style=for-the-badge&logo=apple&logoColor=white" alt="Download OpenConstructionERP for macOS" height="46"></a> &nbsp;&nbsp; <a href="https://github.com/datadrivenconstruction/OpenConstructionERP/releases/latest"><img src="https://img.shields.io/badge/Linux-.deb%20%2F%20.AppImage-FCC624?style=for-the-badge&logo=linux&logoColor=black" alt="Download OpenConstructionERP for Linux" height="46"></a> <sub>Not sure which file? <a href="https://openconstructionerp.com/download"><b>openconstructionerp.com/download</b></a> picks the right one for you automatically. Prefer the terminal? <code>pip install openconstructionerp</code> or Docker, see <a href="#quick-start">Quick Start</a> below.</sub> <br/> <table> <tr> <td align="center" width="16.66%"><b>55K+</b><br/><sub>cost&nbsp;items</sub></td> <td align="center" width="16.66%"><b>24</b><br/><sub>languages</sub></td> <td align="center" width="16.66%"><b>48</b><br/><sub>regions</sub></td> <td align="center" width="16.66%"><b>6</b><br/><sub>CAD&nbsp;formats</sub></td> <td align="center" width="16.66%"><b>100+</b><br/><sub>modules</sub></td> <td align="center" width="16.66%"><b>12</b><br/><sub>sections</sub></td> </tr> </table> </div> --- <details open> <summary><h2>Table of Contents</h2></summary> <table width="100%"> <colgroup> <col width="33%" /> <col width="34%" /> <col width="33%" /> </colgroup> <tr> <td valign="top"> <picture><source media="(prefers-color-scheme: dark)" srcset="docs/readme-icons/rocket-dark.svg"><img src="docs/readme-icons/rocket-light.svg" width="14" align="center" alt=""></picture> **Get Started** - [Why OpenConstructionERP?](#why-openconstructionerp) - [See It In Action](#see-it-in-action) - [Quick Start](#quick-start) - [Demo Accounts](#demo-accounts) </td> <td valign="top"> <picture><source media="(prefers-color-scheme: dark)" srcset="docs/readme-icons/credit-card-dark.svg"><img src="docs/readme-icons/credit-card-light.svg" width="14" align="center" alt=""></picture> **Estimating & Costs** - [Bill of Quantities](#-bill-of-quantities-boq-management) - [Cost Databases & Catalog](#%EF%B8%8F-cost-databases--resource-catalog) - [CAD/BIM Takeoff & AI](#%EF%B8%8F-cadbim-takeoff--ai-estimation) </td> <td valign="top"> <picture><source media="(prefers-color-scheme: dark)" srcset="docs/readme-icons/project-dark.svg"><img src="docs/readme-icons/project-light.svg" width="14" align="center" alt=""></picture> **Project Lifecycle** - [4D Scheduling & 5D Cost](#-4d-scheduling--5d-cost-model) - [Tendering, Risk & Reports](#-tendering-risk--reporting) - [Requirements & Quality](#-requirements--quality-gates) - [Property Development](#-property-development) </td> </tr> <tr> <td valign="top"> <picture><source media="(prefers-color-scheme: dark)" srcset="docs/readme-icons/globe-dark.svg"><img src="docs/readme-icons/globe-light.svg" width="14" align="center" alt=""></picture> **Visualization & Coordination** - [Geo Hub (3D Globe)](#-geo-hub-3d-globe) - [Coordination Hub & Clash AI](#-coordination-hub--clash-ai) - [PDF Markups & Annotations](#%EF%B8%8F-pdf-markups--annotations) </td> <td valign="top"> <picture><source media="(prefers-color-scheme: dark)" srcset="docs/readme-icons/shield-check-dark.svg"><img src="docs/readme-icons/shield-check-light.svg" width="14" align="center" alt=""></picture> **Field & Quality** - [Daily Diary & HSE](#-daily-diary--hse) - [Punch List](#-punch-list) - [Validation Engine](#%EF%B8%8F-validation--compliance-engine) </td> <td valign="top"> <picture><source media="(prefers-color-scheme: dark)" srcset="docs/readme-icons/gear-dark.svg"><img src="docs/readme-icons/gear-light.svg" width="14" align="center" alt=""></picture> **Setup & Standards** - [30+ Regional Standards](#-30-regional-standards) - [Guided Onboarding](#-guided-onboarding) - [All Key Features](#key-features) </td> </tr> <tr> <td valign="top"> <picture><source media="(prefers-color-scheme: dark)" srcset="docs/readme-icons/code-dark.svg"><img src="docs/readme-icons/code-light.svg" width="14" align="center" alt=""></picture> **Technical** - [Tech Stack](#tech-stack) - [Architecture](#architecture) - [Security](#security) </td> <td valign="top"> <picture><source media="(prefers-color-scheme: dark)" srcset="docs/readme-icons/people-dark.svg"><img src="docs/readme-icons/people-light.svg" width="14" align="center" alt=""></picture> **Community** - [Support the Project](#support-the-project) - [AI Disclaimer](#ai-disclaimer) - [Trademarks](#trademarks) </td> <td valign="top"> <picture><source media="(prefers-color-scheme: dark)" srcset="docs/readme-icons/law-dark.svg"><img src="docs/readme-icons/law-light.svg" width="14" align="center" alt=""></picture> **Legal & Privacy** - [Export Control](#export-control) - [License](#license) - [Privacy and Terms](#privacy-and-terms) </td> </tr> </table> </details> --- ⭐ <b>If you want to see new updates and database versions and if you find our tools useful please give our repositories a star to see more similar applications for the construction industry.</b> Star OpenConstructionERP on GitHub and be instantly notified of new releases. <p align="center"> <br> <img src="https://github.com/datadrivenconstruction/cad2data-Revit-IFC-DWG-DGN-pipeline-with-conversion-validation-qto/blob/main/DDC_in_additon/DDC_readme_content/OCE%20star%20GitHub.gif" width="100%"/> <br></br> </p> --- ## <picture><source media="(prefers-color-scheme: dark)" srcset="docs/readme-icons/sparkle-fill-dark.svg"><img src="docs/readme-icons/sparkle-fill-light.svg" width="14" align="center" alt=""></picture> What's New in v6 v6 is the version where setup stops being a chore. Install the wheel, run one command, and the app boots into a full PostgreSQL database with the demo data already loaded. No Docker, no connection strings, no migration step. The whole platform now ships as 117 modules out of the box. - **Embedded PostgreSQL 16 is the default runtime.** The first run brings up a local PostgreSQL server bundled with the wheel, so there is nothing to install and nothing to configure. It just boots. If you want the lightest possible local setup, set `OE_USE_SQLITE=1` and the app falls back to plain SQLite. - **117 modules out of the box, 27 languages, 55,000+ cost items.** Everything is on by default, the full UI is translated, and the CWICR pricing data covers every major trade across 11 regional price sets. - **Partner packs.** Preset bundles you can `pip install`, drop into a folder as a zip, or upload right in the app. They apply live with no restart, so a partner deployment is one step. - **Cost spine.** Control accounts and cost lines give you a proper budget structure with FX-correct rollups. Amounts are grouped by currency and never blended, so totals stay honest across regions. - **Geo hub.** Cesium 3D Tiles in the browser plus a one-click "place project on the map", so every job site has real coordinates and shows up on the globe. - **One-click country packs.** Pick a country and the language, the local cost database and a couple of demo projects all install together in a single step. - **Cross-platform CAD converters.** The DDC cad2data converters auto-download on Windows, Linux and macOS, so RVT, IFC, DWG and DGN takeoff works the same everywhere. See the [latest release](https://github.com/datadrivenconstruction/OpenConstructionERP/releases/latest) and the [CHANGELOG](CHANGELOG.md) for the per-release breakdown. --- ## Why OpenConstructionERP? Construction cost estimation software is expensive, closed-source, and locked to specific regions. OpenConstructionERP changes that. | What you get | How it works | |-------------|-------------| | **Free forever** | AGPL-3.0 license. No subscriptions, no per-seat fees, no vendor lock-in. | | **Your data, your server** | Self-hosted. Everything runs on your machine - nothing leaves your network. | | **27 languages** | Full UI translation: English, German, French, Spanish, Portuguese, Russian, Chinese, Arabic, Hindi, Japanese, Korean, and 16 more. | | **30+ regional standards** | DIN 276, NRM 1/2, CSI MasterFormat, GAEB, ГЭСН, DPGF, GB/T 50500, CPWD, ÖNORM, Birim Fiyat, Sekisan, SINAPI, and more. | | **AI-powered** | Connect any LLM provider (Anthropic, OpenAI, Gemini, Mistral, Groq, DeepSeek) for smart estimation. | | **55,000+ cost items** | CWICR database with 11 regional pricing databases (DACH, UK, US, France, Spain, Brazil, Russia, UAE, China, India, Canada). | ### How It Compares <table width="100%"> <colgroup> <col width="26%" /> <col width="20%" /> <col width="14%" /> <col width="13%" /> <col width="14%" /> <col width="13%" /> </colgroup> <thead> <tr> <th align="left">Capability</th> <th align="center">OpenConstructionERP</th> <th align="center">Enterprise<br/>BIM</th> <th align="center">CAD<br/>Takeoff</th> <th align="center">Legacy<br/>Estimating</th> <th align="center">PDF<br/>Markup</th> </tr> </thead> <tbody> <tr><td><b>License</b></td><td align="center">AGPL-3.0 (free)</td><td align="center">Proprietary</td><td align="center">Proprietary</td><td align="center">Proprietary</td><td align="center">Proprietary</td></tr> <tr><td><b>Self-hosted / offline</b></td><td align="center">&#10004;</td><td align="center">&#10006;</td><td align="center">&#10006;</td><td align="center">&#9888; partial</td><td align="center">&#10006;</td></tr> <tr><td><b>Price</b></td><td align="center"><b>Free forever</b></td><td align="center">~&#8364;500/mo</td><td align="center">~&#8364;300/mo</td><td align="center">~&#8364;200/mo</td><td align="center">~&#8364;30/mo</td></tr> <tr><td><b>AI estimation</b></td><td align="center">&#10004; 7 LLM providers</td><td align="center">&#10006;</td><td align="center">&#10006;</td><td align="center">&#10006;</td><td align="center">&#10006;</td></tr> <tr><td><b>UI languages</b></td><td align="center"><b>27</b></td><td align="center">5</td><td align="center">3</td><td align="center">2</td><td align="center">8</td></tr> <tr><td><b>Regional standards</b></td><td align="center"><b>30+</b></td><td align="center">4</td><td align="center">3</td><td align="center">2</td><td align="center">-</td></tr> <tr><td><b>BOQ editor</b></td><td align="center">&#10004;</td><td align="center">&#10004;</td><td align="center">&#10004;</td><td align="center">&#10004;</td><td align="center">&#10006;</td></tr> <tr><td><b>CAD/BIM takeoff</b></td><td align="center">&#10004; RVT IFC DWG DGN</td><td align="center">&#10004;</td><td align="center">&#10004;</td><td align="center">&#10006;</td><td align="center">PDF only</td></tr> <tr><td><b>4D/5D planning</b></td><td align="center">&#10004;</td><td align="center">&#10004;</td><td align="center">&#10006;</td><td align="center">&#10006;</td><td align="center">&#10006;</td></tr> <tr><td><b>Cost database included</b></td><td align="center">&#10004; 55K+ rates</td><td align="center">&#10006; extra</td><td align="center">&#10006; extra</td><td align="center">&#10006; extra</td><td align="center">&#10006;</td></tr> <tr><td><b>Resource catalog</b></td><td align="center">&#10004; 7K+ priced</td><td align="center">&#10006; extra</td><td align="center">&#10006;</td><td align="center">&#10006;</td><td align="center">&#10006;</td></tr> <tr><td><b>Validation engine</b></td><td align="center">&#10004; 42 rules</td><td align="center">&#9888; limited</td><td align="center">&#10006;</td><td align="center">&#10006;</td><td align="center">&#10006;</td></tr> <tr><td><b>REST API</b></td><td align="center">&#10004; full</td><td align="center">&#9888; limited</td><td align="center">&#10006;</td><td align="center">&#10006;</td><td align="center">&#10006;</td></tr> <tr><td><b>Real-time collab</b></td><td align="center">&#10004; soft locks</td><td align="center">&#10004;</td><td align="center">&#10006;</td><td align="center">&#10006;</td><td align="center">&#10006;</td></tr> <tr><td><b>Open data export</b></td><td align="center">&#10004; GAEB · XLSX · JSON</td><td align="center">&#9888; limited</td><td align="center">&#9888; limited</td><td align="center">&#9888; limited</td><td align="center">PDF only</td></tr> <tr><td><b>IDS / COBie requirements</b></td><td align="center">&#10004; import + export</td><td align="center">&#10006;</td><td align="center">&#10006;</td><td align="center">&#10006;</td><td align="center">&#10006;</td></tr> <tr><td><b>Property dev lifecycle</b></td><td align="center">&#10004; Lead → SPA → Handover</td><td align="center">&#10006;</td><td align="center">&#10006;</td><td align="center">&#10006;</td><td align="center">&#10006;</td></tr> <tr><td><b>3D globe / geo-anchor</b></td><td align="center">&#10004; Cesium 3D Tiles</td><td align="center">&#9888; map only</td><td align="center">&#10006;</td><td align="center">&#10006;</td><td align="center">&#10006;</td></tr> </tbody> </table> <sub>Comparison reflects typical category capabilities based on publicly available information as of Q1 2026. Pricing is approximate (per-seat, list price) and varies by vendor and region. OpenConstructionERP is an independent open-source project and is not affiliated with any commercial vendor in the categories above.</sub> --- ## See It In Action Each block below is a short GIF cut from the full walkthrough above - same order as the video, so you can jump to whichever workflow matters most. Prefer one continuous video? **[▶ Watch the 12-minute walkthrough on YouTube](https://www.youtube.com/watch?v=X06cIaroAeI)**. <table> <tr> <td align="center" width="50%"> <strong><picture><source media="(prefers-color-scheme: dark)" srcset="docs/readme-icons/person-dark.svg"><img src="docs/readme-icons/person-light.svg" width="14" align="center" alt=""></picture> 1 · Role-Based Onboarding</strong><br/> <em>Sign in as Admin / Estimator / Manager - the wizard pre-selects the right 17 of 46 modules for your role</em><br/><br/> <img src="docs/gifs/07_Role_Based_Onboarding.gif" alt="Role-Based Onboarding" width="400" /> </td> <td align="center" width="50%"> <strong><picture><source media="(prefers-color-scheme: dark)" srcset="docs/readme-icons/globe-dark.svg"><img src="docs/readme-icons/globe-light.svg" width="14" align="center" alt=""></picture> 2 · New Project, Any Region</strong><br/> <em>Pick currency, classification standard, regional factor - live map & weather come along for free</em><br/><br/> <img src="docs/gifs/08_New_Project_Global.gif" alt="New Project Global" width="400" /> </td> </tr> <tr> <td align="center"> <strong><picture><source media="(prefers-color-scheme: dark)" srcset="docs/readme-icons/zap-dark.svg"><img src="docs/readme-icons/zap-light.svg" width="14" align="center" alt=""></picture> 3 · Build the Bill of Quantities</strong><br/> <em>Keyboard-first editor, 55K+ priced items, AI cost finder & Smart AI - quality score updates live</em><br/><br/> <img src="docs/gifs/15_BoQ_Editor.gif" alt="BoQ Editor" width="400" /> </td> <td align="center"> <strong><picture><source media="(prefers-color-scheme: dark)" srcset="docs/readme-icons/tools-dark.svg"><img src="docs/readme-icons/tools-light.svg" width="14" align="center" alt=""></picture> 4 · BIM → BOQ Bulk Link</strong><br/> <em>Link 100 Revit walls → one BOQ line with aggregated area / volume / length - no IfcOpenShell</em><br/><br/> <img src="docs/gifs/09_Bulk_Link_BIM_Group.gif" alt="Bulk Link BIM Group" width="400" /> </td> </tr> <tr> <td align="center"> <strong><picture><source media="(prefers-color-scheme: dark)" srcset="docs/readme-icons/workflow-dark.svg"><img src="docs/readme-icons/workflow-light.svg" width="14" align="center" alt=""></picture> 5 · DWG Drawings & Layers</strong><br/> <em>636 wall entities across 10 DWG layers - every one linkable to the BOQ, measured in place</em><br/><br/> <img src="docs/gifs/10_DWG_Layers.gif" alt="DWG Layers" width="400" /> </td> <td align="center"> <strong><picture><source media="(prefers-color-scheme: dark)" srcset="docs/readme-icons/pencil-dark.svg"><img src="docs/readme-icons/pencil-light.svg" width="14" align="center" alt=""></picture> 6 · PDF Takeoff</strong><br/> <em>Drop a floorplan, measure distance / area / count, push the numbers straight into the BOQ</em><br/><br/> <img src="docs/gifs/16_PDF_Takeoff_v2.gif" alt="PDF Takeoff" width="400" /> </td> </tr> <tr> <td align="center"> <strong><picture><source media="(prefers-color-scheme: dark)" srcset="docs/readme-icons/credit-card-dark.svg"><img src="docs/readme-icons/credit-card-light.svg" width="14" align="center" alt=""></picture> 7 · Complete Estimate - $6.26M</strong><br/> <em>Real Revit project → 215 positions, 88 sections, CWICR-priced, quality score 99</em><br/><br/> <img src="docs/gifs/11_Complete_Estimate_6M.gif" alt="Complete Estimate" width="400" /> </td> <td align="center"> <strong><picture><source media="(prefers-color-scheme: dark)" srcset="docs/readme-icons/check-circle-fill-dark.svg"><img src="docs/readme-icons/check-circle-fill-light.svg" width="14" align="center" alt=""></picture> 8 · Every Module - BIM-Linked Tasks</strong><br/> <em>Issues tied to exact model elements, tracked on a Kanban board alongside schedule, docs & requirements</em><br/><br/> <img src="docs/gifs/12_Tasks_Linked_To_BIM.gif" alt="Tasks Linked To BIM" width="400" /> </td> </tr> <tr> <td align="center"> <strong><picture><source media="(prefers-color-scheme: dark)" srcset="docs/readme-icons/graph-dark.svg"><img src="docs/readme-icons/graph-light.svg" width="14" align="center" alt=""></picture> 9 · Data Explorer - Pivot → BOQ</strong><br/> <em>CAD-BIM Explorer pivot becomes 10 BOQ positions in one click - charts, data bars & drill-down included</em><br/><br/> <img src="docs/gifs/13_Data_Explorer_Pivot.gif" alt="Data Explorer Pivot" width="400" /> </td> <td align="center"> <strong><picture><source media="(prefers-color-scheme: dark)" srcset="docs/readme-icons/device-camera-dark.svg"><img src="docs/readme-icons/device-camera-light.svg" width="14" align="center" alt=""></picture> 10 · AI Estimate from a Photo</strong><br/> <em>Upload a construction photo → GPT-4o + YOLO return a scoped BOQ in seconds, confidence-scored</em><br/><br/> <img src="docs/gifs/02_AI_Photo_to_Estimate.gif" alt="AI Photo to Estimate" width="400" /> </td> </tr> <tr> <td align="center"> <strong><picture><source media="(prefers-color-scheme: dark)" srcset="docs/readme-icons/globe-dark.svg"><img src="docs/readme-icons/globe-light.svg" width="14" align="center" alt=""></picture> 11 · Global Portfolio Dashboard</strong><br/> <em>7 projects, 4 continents, $28.3M in active estimates - one workspace, one map</em><br/><br/> <img src="docs/gifs/14_Projects_Dashboard.gif" alt="Projects Dashboard" width="400" /> </td> <td align="center"> <strong><picture><source media="(prefers-color-scheme: dark)" srcset="docs/readme-icons/search-dark.svg"><img src="docs/readme-icons/search-light.svg" width="14" align="center" alt=""></picture> Bonus · Instant Search</strong><br/> <em>Find any of 55K+ cost items across 11 regional databases by keyword, unit or classification</em><br/><br/> <img src="docs/gifs/05_Instant_Search.gif" alt="Instant Search" width="400" /> </td> </tr> </table> --- ## A Look Inside A quick tour of the main workspaces. Every screen is the real application running the seven-country demo that ships with a fresh install. <table> <tr> <td align="center" width="50%"> <strong>Portfolio Dashboard</strong><br/> <em>Every project on one live map, with multi-currency totals that are grouped by currency, never blended.</em><br/><br/> <img src="docs/screenshots/gallery/portfolio-dashboard.jpg" alt="Portfolio dashboard with world map and KPIs" width="420" /> </td> <td align="center" width="50%"> <strong>Projects</strong><br/> <em>Localized projects worldwide. Each card carries its site map, BIM / DWG / PDF badges and live value.</em><br/><br/> <img src="docs/screenshots/gallery/projects.jpg" alt="Projects overview with localized project cards" width="420" /> </td> </tr> <tr> <td align="center"> <strong>BOQ Editor</strong><br/> <em>Keyboard-first bill of quantities with sections, assemblies, a live quality score and grand total.</em><br/><br/> <img src="docs/screenshots/gallery/boq-editor.jpg" alt="Bill of Quantities editor" width="420" /> </td> <td align="center"> <strong>Cost Database</strong><br/> <em>55,000+ priced items across 11 regional databases, bilingual, searchable by code, unit or class.</em><br/><br/> <img src="docs/screenshots/gallery/cost-database.jpg" alt="Regional cost databases" width="420" /> </td> </tr> <tr> <td align="center"> <strong>3D BIM Viewer</strong><br/> <em>Federated models in the browser with a category and storey breakdown. Converted through DDC, no IfcOpenShell.</em><br/><br/> <img src="docs/screenshots/gallery/bim-3d-viewer.jpg" alt="3D BIM viewer with element summary" width="420" /> </td> <td align="center"> <strong>Clash Detection</strong><br/> <em>Geometric coordination across federated models, with a clash matrix and BCF export.</em><br/><br/> <img src="docs/screenshots/gallery/clash-detection.jpg" alt="Clash detection across federated models" width="420" /> </td> </tr> <tr> <td align="center"> <strong>PDF Takeoff</strong><br/> <em>Drop a drawing, let AI extract the quantities, then push them straight into the BOQ.</em><br/><br/> <img src="docs/screenshots/gallery/pdf-takeoff.jpg" alt="AI-assisted PDF takeoff" width="420" /> </td> <td align="center"> <strong>AI Estimate</strong><br/> <em>Turn text, a photo, a PDF or a spreadsheet into a scoped BOQ in seconds, with confidence scores.</em><br/><br/> <img src="docs/screenshots/gallery/ai-estimate.jpg" alt="AI quick estimate" width="420" /> </td> </tr> <tr> <td align="center"> <strong>Validation</strong><br/> <em>Built-in DIN 276, NRM and MasterFormat rules score every BOQ with a traffic-light report.</em><br/><br/> <img src="docs/screenshots/gallery/validation.jpg" alt="Validation report with traffic-light score" width="420" /> </td> <td align="center"> <strong>Cross-Project Analytics</strong><br/> <em>Portfolio KPIs grouped by currency: budget, actuals and variance, project by project.</em><br/><br/> <img src="docs/screenshots/gallery/analytics.jpg" alt="Cross-project analytics grouped by currency" width="420" /> </td> </tr> <tr> <td align="center" colspan="2"> <strong>Finance &amp; Earned Value</strong><br/> <em>Budgets, invoices, payments and earned value tracked against the estimate.</em><br/><br/> <img src="docs/screenshots/gallery/finance.jpg" alt="Finance and earned value management" width="420" /> </td> </tr> </table> --- ## Key Features ### <picture><source media="(prefers-color-scheme: dark)" srcset="docs/readme-icons/graph-dark.svg"><img src="docs/readme-icons/graph-light.svg" width="14" align="center" alt=""></picture> Bill of Quantities (BOQ) Management <img src="docs/screenshots/feature-boq.jpg" alt="BOQ Editor - Create, manage and analyze Bills of Quantities" width="800" /> Build professional cost estimates with a powerful BOQ editor. The full lifecycle - from first sketch to final tender submission: ``` Upload Convert Validate Estimate Tender ┌────────┐ ┌──────────┐ ┌───────────┐ ┌──────────┐ ┌──────────┐ │PDF/CAD │───────▶│ Extract │──────▶│ 42 rules │─────▶│BOQ Editor│─────▶│ Bid Pkgs │ │Photo │ │quantities│ │ DIN/NRM/ │ │ + AI │ │ Compare │ │Text │ │ + AI │ │ MasterFmt │ │ + Costs │ │ Award │ └────────┘ └──────────┘ └───────────┘ └──────────┘ └──────────┘ │ ┌─────┴──────┐ │ 4D Schedule│ │ 5D Costs │ │ Risk Reg. │ │ Reports │ └────────────┘ ``` - **Hierarchical BOQ structure** - Sections, positions, sub-positions with drag-and-drop reordering - **Inline editing** - Click any cell to edit. Tab between fields. Undo/redo with Ctrl+Z - **Resources & assemblies** - Link labor, materials, equipment to each position. Build reusable cost recipes - **Markups** - Overhead, profit, VAT, contingency - configure per project or use regional defaults - **Automatic calculations** - Quantity × unit rate = total. Section subtotals. Grand total with markups - **Validation** - 42 built-in rules check for missing quantities, zero prices, duplicate items, and compliance with DIN 276, NRM, MasterFormat - **Export** - Download as Excel, CSV, PDF report, or GAEB XML (X83) ### <picture><source media="(prefers-color-scheme: dark)" srcset="docs/readme-icons/database-dark.svg"><img src="docs/readme-icons/database-light.svg" width="14" align="center" alt=""></picture> Cost Databases & Resource Catalog <img src="docs/screenshots/feature-databases.jpg" alt="Cost Database - 55,000+ items across 11 regions" width="800" /> Access the world's construction pricing data: - **CWICR database** - 55,000+ cost items covering all major construction trades. Available in 9 languages with 11 regional price sets - **Smart search** - Find items by description, code, or classification. AI-powered semantic search matches meaning, not just keywords ("concrete wall" finds "reinforced partition C30/37") - **Resource catalog** - 7,000+ materials, equipment, labor rates, and operators. Build custom assemblies from catalog items - **Regional pricing** - Automatic price adjustment based on project location. Compare rates across regions - **Import your data** - Upload your own cost database from Excel, CSV, or connect via API ### <picture><source media="(prefers-color-scheme: dark)" srcset="docs/readme-icons/tools-dark.svg"><img src="docs/readme-icons/tools-light.svg" width="14" align="center" alt=""></picture> CAD/BIM Takeoff & AI Estimation <img src="docs/screenshots/feature-takeoff-ai.jpg" alt="CAD/BIM Takeoff and AI-powered estimation" width="800" /> Extract quantities from any source - drawings, models, text, or photos: ``` Source DDC cad2data Canonical Match BOQ ┌────────┐ ┌──────────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │.rvt │ │ Element │ │ Elements │ │ Classify │ │ Positions│ │.ifc │────────▶│ extraction │───▶│ + Quants │──────▶│ (DIN/NRM)│─────▶│ + Linked │ │.dwg │ │ (no IFC OS) │ │ + Props │ │ + Costs │ │ geometry │ │.dgn │ └──────────────┘ └──────────┘ └──────────┘ └──────────┘ │.pdf │ │ │photo │ ┌──────────────┐ ┌─────┴────┐ │text │────────▶│ CV / OCR / AI│──────────────────────────────────────▶ │ BIM Pick │ └────────┘ │ (PaddleOCR + │ │ area/vol │ │ YOLOv11) │ │ /length │ └──────────────┘ └──────────┘ ``` - **CAD/BIM takeoff** - Upload Revit (.rvt), IFC, AutoCAD (.dwg), or MicroStation (.dgn) files. DDC converters extract elements with volumes, areas, and lengths automatically - **Interactive QTO** - Choose how to group extracted data: by Category, Type, Level, Family. Format-specific presets for Revit and IFC - **Linked geometry preview** - Click the BIM link badge on any BOQ position to see a 3D preview of linked elements with interactive rotate/zoom/pan controls - **BIM Quantity Picker** - Select quantities (area, volume, length) directly from linked BIM elements and apply them to BOQ positions. The source parameter name is shown next to the unit - **DWG polyline measurement** - Click any polyline in the DWG viewer to instantly see area, perimeter, and individual segment lengths with on-canvas labels - **PDF measurement** - Open construction drawings directly in the browser. Measure distances, areas, and count elements with calibrated scale - **AI estimation** - Describe your project in plain text, upload a building photo, or paste a PDF - AI generates a complete BOQ with quantities and market rates - **AI Cost Advisor** - Ask questions about pricing, materials, or estimation methodology. AI answers using your cost database as context - **Cost matching** - After AI generates an estimate, match each item against your CWICR database to replace AI-guessed rates with real market prices ### <picture><source media="(prefers-color-scheme: dark)" srcset="docs/readme-icons/globe-dark.svg"><img src="docs/readme-icons/globe-light.svg" width="14" align="center" alt=""></picture> Geo Hub (3D Globe) Anchor every project on a real spherical earth - Cesium 3D Tiles 1.1 with live HUD and pin layers: ``` Anchor Globe Mode Deeplink Fly-to ┌──────────┐ ┌──────────┐ ┌───────────┐ ┌────────────┐ ┌──────────┐ │ Project │ │ Cesium │ │ Global │ │ ?model=… │ │ BIM scene│ │ Plot │──────▶│ 3D Tiles │──────▶│ Project │──────▶│ ?plot=… │─────▶│ PropDev │ │ CAD model│ │ live HUD │ │ Developm. │ │ ?dev_id=… │ │ Daily Diary│ └──────────┘ └──────────┘ └───────────┘ └────────────┘ └──────────┘ ▲ │ │ │ ▼ │ │ ┌──────────────┐ │ └───────────│ Pin layers │ ◀────── HSE · Punchlist · Daily Diary ◀──────────┘ └──────────────┘ ``` - **Three-mode picker** - Global (planet-wide portfolio), Project (job-site scale), Development (plot-level masterplan) - **Live HUD** - Cursor latitude / longitude, terrain altitude, dynamic scale bar, north arrow - **Anchored Projects rail** - Floating collapsible overlay showing every geo-anchored project, click to fly-to - **Deeplinks** - `?model=`, `?plot=`, `?dev_id=`, `?phase=`, `?block=` survive page reloads and shareable URLs - **Pin layers** - HSE incidents, Punchlist items, Daily Diary entries plotted on the globe with category icons - **"View on map" CTAs** - One click from BIM viewer, PropDev plot, Daily Diary entry, Project card → globe with that asset selected - **DWG / PDF raster overlay** - Upload a site plan or floorplan, drag four corner pins onto the globe → the raster drapes over real terrain; polygon crop with vertex drag for cookie-cutter trimming - **Canonical pipeline** - `POST /api/v1/geo-hub/from-canonical/{cad_import_id}` turns any DDC cad2data conversion into glTF 3D Tiles via pure-Python pygltflib (no commercial toolkit needed) *Example: open a Berlin masterplan in Geo Hub, switch to Development mode, see all 12 plots colored by sale status, click one → reservation pipeline opens with that buyer pre-filtered.* ### <picture><source media="(prefers-color-scheme: dark)" srcset="docs/readme-icons/organization-dark.svg"><img src="docs/readme-icons/organization-light.svg" width="14" align="center" alt=""></picture> Property Development End-to-end real-estate developer workflow - from first lead to handover snags to warranty close-out: ``` Lead Reservation SPA Handover Warranty ┌────────┐ ┌──────────┐ ┌──────────┐ ┌───────────┐ ┌──────────┐ │ CRM │───▶│ Hold + │────▶│ Contract │─────▶│ Snags │─────▶│ Defects │ │ inbox │ │ deposit │ │ + Escrow │ │ + Photos │ │ liability│ │ Broker │ │ schedule │ │ schedule │ │ + Sign-off│ │ + Promote│ └────────┘ └──────────┘ └──────────┘ └───────────┘ └──────────┘ │ │ │ │ │ └──────────────┴────────────────┴──── Contact bridge (idempotent tags) ┘ ▼ ┌────────────────┐ │ Price Matrix │ │ Phases · Blocks│ │ House Types │ │ Brokers · Plots│ └────────────────┘ ``` - **Lead → Reservation → SPA → Handover → Warranty** - Full lifecycle FSM with auto-creation of ContractParty on SPA conversion, Payment Schedule state machine, idempotent stage transitions - **Sub-entity tabs** - Phases · Blocks · Brokers · Price Matrix · Escrow - one screen for every dev operation, no page hops - **House Type catalogue** - ISO 3166-1 picker covering 180+ countries plus Custom region; CountryCombobox + HouseTypeEditModal share the same backend taxonomy as catalog & costs - **SnagsBlock per handover** - Photo upload, status (Open / Resolved / Disputed), one-click promote-to-warranty when a snag survives the defects-liability period - **Contacts ↔ PropDev bridge** - Every Lead and Buyer is idempotently tagged as a Contact via `Contact.module_tags`, so CRM and PropDev stay in sync without duplicates - **Price Matrix** - Per-phase × house-type × view-premium grid with currency-aware totals and bulk apply - **Escrow** - Per-buyer payment schedule with milestone receipts and outstanding balance roll-up - **Bootstrap to Accommodation** - One click on a development block creates a worker-camp / rental inventory in the [Accommodation](#-accommodation) module (1:1 plots → rooms, idempotent) *Example: import a 240-unit residential masterplan, generate price matrix from house-type × view, push to globe, accept 18 reservations across 3 brokers, convert 11 to SPA, hand over 4, track 7 open snags in the warranty period - all in one app.* ### <picture><source media="(prefers-color-scheme: dark)" srcset="docs/readme-icons/home-dark.svg"><img src="docs/readme-icons/home-light.svg" width="14" align="center" alt=""></picture> Accommodation <img src="docs/screenshots/feature-accommodation.jpg" alt="Accommodation module - worker camps, rentals and hotels in one place" width="800" /> One module for three lodging kinds - worker camps for site crews, rentals for staff, hotels for visiting consultants - with rooms, bookings and charges in a unified data model: ``` PropDev block Accommodation Rooms Bookings Charges ┌──────────────┐ ┌──────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ │ Plots #1..N │──1▶──│ Worker camp │───▶│ available │───▶│ reserved │───▶│ base rent │ │ (PropDev) │ click│ Rental │ │ occupied │ │ checked_in │ │ extras │ │ │ │ Hotel │ │ maintenance│ │ checked_out│ │ deposits │ └──────────────┘ └──────────────┘ │ blocked │ │ cancelled │ │ refunds │ ▲ │ └────────────┘ └────────────┘ └────────────┘ │ ▼ ▲ │ ┌──────────────┐ │ │ │ HR autobook │ ◀──── lowest-labelled ─────┘ │ │ (suggest+ │ available worker_camp room │ │ confirm) │ │ └──────────────┘ │ "Bootstrap to Accommodation" CTA ``` - **Three kinds, one module** - `worker_camp` · `rental` · `hotel`, with tab filter and per-kind capacity counters on every card - **Rooms with status** - `available` · `occupied` · `maintenance` · `blocked`; 409 prevents booking into a blocked or maintenance room - **Booking state machine** - `reserved → checked_in → checked_out` with `cancelled` from any non-final state; idempotent same-state updates; final states locked - **Charges with Decimal precision** - Base rent, extras, deposits, refunds, all in the room's inherited currency (no hardcoded EUR) - **PropDev bootstrap** - One click on a development block iterates its plots and creates rooms 1:1, idempotent (running twice creates nothing extra) - **HR autobook (suggest-confirm)** - Pick an employee Contact → suggest the lowest-labelled available `worker_camp` room → human confirms with a real booking POST - **BIM + Geo aware** - `bim_element_id` carries through from PropDev plots; cards with `geo_lat/geo_lon` get a "Geo" deeplink to the globe - **IDOR-hardened** - Every helper returns 404 (never 403) on cross-tenant access; tested in `backend/tests/modules/accommodation/` *Example: 240-plot worker camp on a remote site - bootstrap from the PropDev block, HR autobooks 187 crew members from the Contacts directory over three weeks, base-rent charges roll up to the project P&L automatically.* ### <picture><source media="(prefers-color-scheme: dark)" srcset="docs/readme-icons/comment-discussion-dark.svg"><img src="docs/readme-icons/comment-discussion-light.svg" width="14" align="center" alt=""></picture> Floating Chat with the ERP Database <img src="docs/screenshots/feature-erp-chat.jpg" alt="Floating chat answering questions about projects, BOQ and schedule from live ERP data" width="800" /> Bottom-right floating chat on every page - talks to the entire ERP database through 17 typed tools (projects, BOQ items, schedule, validation, risks, CWICR search, BIM elements, full semantic search): ``` Any page Floating button Panel + 17 tools Streamed ┌────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────┐ │/projects│ │ bottom-right │ │ get_projects │ │ tool card│ │/boq │──FAB──▶│ ◯ Message │────▶│ search_cwicr │────▶│ rendered │ │/geo │ │ (badge: 3) │ │ create_boq │ │ in chat │ └────────┘ └──────────────┘ └──────────────┘ └──────────┘ ``` - **Always-on** - Mounted in `AppLayout`, available on every route (Dashboard, BOQ, BIM, Geo, PropDev, Accommodation, all 111 modules) - **Real ERP access** - Reads/writes through tools, not LLM guesswork: `get_all_projects`, `get_project_summary`, `get_boq_items`, `get_schedule`, `get_validation_results`, `get_risk_register`, `search_cwicr_database`, `get_cost_model`, `compare_projects`, `run_validation`, `create_boq_item`, `search_boq_positions`, `search_documents`, `search_tasks`, `search_risks`, `search_bim_elements`, `search_anything` - **Streamed responses** - Tool-call cards (risk register table, BOQ summary, etc.) render inline as the model produces them - **Provider-agnostic** - Anthropic / OpenAI / Gemini / Mistral / Groq / DeepSeek behind the same tool interface ### <picture><source media="(prefers-color-scheme: dark)" srcset="docs/readme-icons/heart-dark.svg"><img src="docs/readme-icons/heart-light.svg" width="14" align="center" alt=""></picture> Coordination Hub & Clash AI <img src="docs/screenshots/gallery/clash-detection.jpg" alt="Clash detection across federated BIM models with a clash matrix and BCF export" width="800" /> Multi-disciplinary BIM coordination with AI-assisted issue triage: ``` Federation Raw clashes Smart Issues AI Triage BCF 3.0 ┌──────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌──────────┐ │ ARC ·STR │ │ thousands │ │ clustered │ │ severity │ │ Solibri │ │ MEP ·HSE │─────▶│ raw pairs │────▶│ by zone + │───▶│ rework $ │───▶│ Navisw. │ │ models │ │ + distance │ │ disciplines│ │ confidence │ │ BIMcollab│ └──────────┘ └────────────┘ └────────────┘ └────────────┘ └──────────┘ │ ▲ ▼ │ ┌─────────────┐ │ │ Smart Views │ IDS + COBie owner drops ──┘ │ RFI · Tasks │ │ Cost Impact │ └─────────────┘ ``` - **Coordination Hub** - Single dashboard fusing clashes, RFIs, submittals, action items per model federation - **Smart Views v1** - Saved filters across the federation (e.g. "MEP-vs-STR clashes > 50mm in Level 03") - **Clash Smart Issues** - Auto-group thousands of raw clash results into prioritized issue clusters by location + discipline pair - **AI Triage** - LLM ranks new clashes by severity / rework cost / location criticality with confidence scores - **Cost Impact rollup** - Per-issue rework estimate driven by your cost database, surfaced on the dashboard - **BCF 3.0 / OpenCDE export** - Round-trip with Solibri, Navisworks, BIMcollab via the open BIM standard - **BIM Requirements** - IDS (Information Delivery Specification) and COBie import / export for owner-side data drops ### <picture><source media="(prefers-color-scheme: dark)" srcset="docs/readme-icons/calendar-dark.svg"><img src="docs/readme-icons/calendar-light.svg" width="14" align="center" alt=""></picture> 4D Scheduling & 5D Cost Model <img src="docs/screenshots/06-schedule.png" alt="4D Schedule module listing projects with planned durations and linked cost models" width="800" /> Plan your project timeline and track costs over time: - **Gantt chart** - Visual project schedule with drag-and-drop activities, dependencies (FS/FF/SS/SF), and critical path highlighting - **Auto-generate from BOQ** - Create schedule activities directly from your BOQ sections with cost-proportional durations - **Earned Value Management** - Track SPI, CPI, EAC, and variance. S-curve visualization shows planned vs actual progress - **Budget tracking** - Set baselines, compare snapshots, run what-if scenarios - **Monte Carlo simulation** - Risk-adjusted schedule analysis with probability distributions ### <picture><source media="(prefers-color-scheme: dark)" srcset="docs/readme-icons/paste-dark.svg"><img src="docs/readme-icons/paste-light.svg" width="14" align="center" alt=""></picture> Tendering, Risk & Reporting Complete your estimation workflow: ``` BOQ Bid Package Distribute Compare Award ┌────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌──────────┐ │ priced │───▶│ subset + │───▶│ Subs (mail │───▶│ side-by- │───▶│ winner │ │ sections │ instructions │ + portal) │ │ side mirror│ │ + change │ │ │ │ + scope │ │ │ │ + anomalies│ │ orders │ └────────┘ └────────────┘ └────────────┘ └────────────┘ └──────────┘ │ │ ▼ ▼ ┌─────────────────────────┐ │ Reports · GAEB X83 │ │ Risk Register · EAC │ └─────────────────────────┘ ``` - **Tendering** - Create bid packages, distribute to subcontractors, collect and compare bids with side-by-side price mirror - **Change orders** - Track scope changes with cost and schedule impact analysis - **Risk register** - Probability × impact matrix, mitigation strategies, risk-adjusted contingency - **Reports** - Generate professional PDF reports, Excel exports, GAEB XML. 12 built-in templates - **Documents** - Centralized file management with version tracking and drag-and-drop upload ### <picture><source media="(prefers-color-scheme: dark)" srcset="docs/readme-icons/note-dark.svg"><img src="docs/readme-icons/note-light.svg" width="14" align="center" alt=""></picture> Requirements & Quality Gates Track and validate construction requirements with the EAC (Entity-Attribute-Constraint) system: - **EAC Triplets** - Capture requirements as structured data: Entity (wall), Attribute (fire_rating), Constraint (≥ F90) - **4 Quality Gates** - Completeness → Consistency → Coverage → Compliance. Run sequentially to validate requirements - **BOQ Traceability** - Link each requirement to BOQ positions for full traceability from spec to estimate - **Bulk Import** - Import requirements from structured text (pipe-delimited format) - **Categories** - Structural, fire safety, thermal, acoustic, waterproofing, electrical, mechanical, architectural ### <picture><source media="(prefers-color-scheme: dark)" srcset="docs/readme-icons/pencil-dark.svg"><img src="docs/readme-icons/pencil-light.svg" width="14" align="center" alt=""></picture> PDF Markups & Annotations Annotate construction drawings and documents directly in the browser: - **10 markup types** - Cloud, arrow, text, rectangle, highlight, polygon, distance, area, count, stamp - **Custom stamps** - Approved, Rejected, For Review, Revised, Final + create your own with logo and date - **Scale calibration** - Set real-world scale per page for accurate measurements - **Markups List** - Table view of all annotations with filters, search, and CSV export - **BOQ Integration** - Link measurements directly to BOQ positions (quantity = measured value) ### <picture><source media="(prefers-color-scheme: dark)" srcset="docs/readme-icons/check-circle-fill-dark.svg"><img src="docs/readme-icons/check-circle-fill-light.svg" width="14" align="center" alt=""></picture> Punch List Track construction deficiencies from discovery to resolution: - **5-stage workflow** - Open → In Progress → Resolved → Verified → Closed - **Location pins** - Mark exact position on PDF drawings (x/y coordinates) - **Priority levels** - Low, Medium, High, Critical with color coding - **Photo attachments** - Upload photos of deficiencies from the field - **Categories** - Structural, mechanical, electrical, architectural, fire safety, plumbing, finishing - **PDF Export** - Generate punch list reports for stakeholder review - **Verification control** - Different user must verify (not the resolver) ### <picture><source media="(prefers-color-scheme: dark)" srcset="docs/readme-icons/book-dark.svg"><img src="docs/readme-icons/book-light.svg" width="14" align="center" alt=""></picture> Daily Diary & HSE Field-level reporting and safety tracking that holds up in court: - **Daily Diary** - Weather-aware entries (auto-pulled from project geo-coordinates), crew on site, equipment used, deliveries, delays, photos - **HSE Incidents** - Near-miss → first-aid → recordable → lost-time taxonomy with mandatory root-cause and corrective-action fields - **OSHA-recordable flag** - Server-side default backing for compliant regulatory exports (300 / 300A / 301) - **Photo capture with EXIF / GPS** - Field photos preserve location and timestamp metadata; magic-byte upload validation for defence-in-depth - **Geo-anchored pins** - Daily Diary and HSE pins surface on the Geo Hub globe layer for portfolio-level safety dashboards ### <picture><source media="(prefers-color-scheme: dark)" srcset="docs/readme-icons/globe-dark.svg"><img src="docs/readme-icons/globe-light.svg" width="14" align="center" alt=""></picture> 30+ Regional Standards | Standard | Region | Format | |----------|--------|--------| | DIN 276 / ÖNORM / SIA | Germany / Austria / Switzerland | Excel, CSV | | NRM 1/2 (RICS) | United Kingdom | Excel, CSV | | CSI MasterFormat | United States / Canada | Excel, CSV | | GAEB DA XML 3.3 | DACH region | XML | | DPGF / DQE | France | Excel, CSV | | ГЭСН / ФЕР | Russia / CIS | Excel, CSV | | GB/T 50500 | China | Excel, CSV | | CPWD / IS 1200 | India | Excel, CSV | | Bayındırlık Birim Fiyat | Turkey | Excel, CSV | | 積算基準 (Sekisan) | Japan | Excel, CSV | | Computo Metrico / DEI | Italy | Excel, CSV | | STABU / RAW | Netherlands | Excel, CSV | | KNR / KNNR | Poland | Excel, CSV | | 표준품셈 | South Korea | Excel, CSV | | NS 3420 / AMA | Nordic countries | Excel, CSV | | ÚRS / TSKP | Czech Republic / Slovakia | Excel, CSV | | ACMM / ANZSMM | Australia / New Zealand | Excel, CSV | | CSI / CIQS | Canada | Excel, CSV | | FIDIC | UAE / GCC | Excel, CSV | | PBC / Base de Precios | Spain | Excel, CSV | ### <picture><source media="(prefers-color-scheme: dark)" srcset="docs/readme-icons/shield-dark.svg"><img src="docs/readme-icons/shield-light.svg" width="14" align="center" alt=""></picture> Validation & Compliance Engine Ensure your estimates meet regulatory standards before submission: - **42 built-in rules** across 13 rule sets - DIN 276, NRM, MasterFormat, GAEB, and universal BOQ quality checks - **Real-time validation** - Run checks with Ctrl+Shift+V. Each position gets a pass/warning/error indicator - **Quality score** - Overall BOQ quality percentage (0-100%) visible in the toolbar - **Drill-down** - Click any finding to jump directly to the affected BOQ position and fix it - **Custom rules** - Define project-specific validation rules via the rule builder or Python scripting ### <picture><source media="(prefers-color-scheme: dark)" srcset="docs/readme-icons/rocket-dark.svg"><img src="docs/readme-icons/rocket-light.svg" width="14" align="center" alt=""></picture> Guided Onboarding Get productive in under 10 minutes: 1. **Choose language** - Select from 27 languages. The entire UI switches instantly 2. **Select region** - Determines default cost database, currency, and classification standard 3. **Load cost database** - One-click import of CWICR pricing data for your region (55,000+ items) 4. **Import resource catalog** - Materials, labor, equipment, and pre-built assemblies 5. **Configure AI** *(optional)* - Enter an API key from any supported LLM provider 6. **Create your first project** - Set name, region, standard, and start estimating --- ## Quick Start > <picture><source media="(prefers-color-scheme: dark)" srcset="docs/readme-icons/eye-dark.svg"><img src="docs/readme-icons/eye-light.svg" width="14" align="center" alt=""></picture> **Prefer to see it first?** [▶ Watch the 12-minute walkthrough on YouTube](https://www.youtube.com/watch?v=X06cIaroAeI) - onboarding → BoQ → BIM → DWG → PDF → AI → dashboard. ### Easiest: download the desktop app (no Python, no setup) Download the installer for your operating system, run it, and OpenConstructionERP opens as a native desktop app. No Python, no pip, no Docker, and no database to set up. Everything runs locally on your machine. - **[Download for your platform](https://openconstructionerp.com/download)** picks the right file for your OS automatically. - Or grab one straight from the **[latest release](https://github.com/datadrivenconstruction/OpenConstructionERP/releases/latest)**: Windows `.exe` installer, macOS `.dmg`, or Linux `.deb` / `.AppImage`. The first launch takes about a minute while it sets up your local database, then every launch after that is fast. Open source under AGPL-3.0. > **Prefer the command line?** The options below (pip, Docker, source) need Python 3.12+. Check with `python --version`. ### pip install (full app, one command) ```bash pip install --upgrade openconstructionerp openconstructionerp ``` That's it. The single wheel ships the backend plus the pre-built React frontend. The first run sets up a local embedded PostgreSQL database (no Docker, no setup), loads the demo data, opens your browser at **http://localhost:8080**, and you sign in with `[email protected]` / `DemoPass1234!`. No Node.js and no extra services. Every later run, just type `openconstructionerp` again. [PyPI package](https://pypi.org/project/openconstructionerp/). If the `openconstructionerp` command is not found after install, run it through Python instead. This works on every operating system and never depends on PATH: ```bash python -m openconstructionerp ``` #### "Command not found"? You do not need to touch PATH If your terminal says `openconstructionerp: command not found` (macOS/Linux) or `'openconstructionerp' is not recognized` (Windows), the package installed fine. pip just put the launcher in a per-user scripts folder that is not on your PATH. You have three options, easiest first. **1. Run it through Python (simplest, no setup).** This works from any folder, on every OS, and never depends on PATH. We recommend this: ```bash python -m openconstructionerp ``` Every command works this way: `python -m openconstructionerp serve`, `python -m openconstructionerp doctor`, and so on. **2. Let pipx handle PATH for you.** [pipx](https://pipx.pypa.io) installs the app in its own isolated environment and puts the `openconstructionerp` command on your PATH automatically: ```bash python -m pip install --user pipx python -m pipx ensurepath # then close and reopen the terminal pipx install openconstructionerp openconstructionerp ``` **3. Add the scripts folder to PATH yourself,** if you want the short `openconstructionerp` command. Pick your platform: <details> <summary><b>Windows</b></summary> First find the folder pip used (it is printed as a warning during install, usually `%APPDATA%\Python\Python3xx\Scripts`): ```powershell python -m site --user-base ``` Add `\Scripts` to that path. Then either: - **Permanent (recommended):** open the Start menu, search for "Edit environment variables for your account", edit the `Path` variable, and add the folder (for example `C:\Users\you\AppData\Roaming\Python\Python312\Scripts`). Open a new terminal and `openconstructionerp` works. - **This session only:** ```powershell set PATH=%APPDATA%\Python\Python312\Scripts;%PATH% ``` (replace `Python312` with your version). </details> <details> <summary><b>macOS / Linux</b></summary> pip installs user scripts to `~/.local/bin`. Add it to your PATH by appending one line to your shell profile (`~/.zshrc` on modern macOS, `~/.bashrc` on most Linux): ```bash echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc # or ~/.bashrc source ~/.zshrc # or ~/.bashrc openconstructionerp ``` </details> > **Ubuntu / Debian users:** on Ubuntu 23.04+ (including Ubuntu 26) and Debian 12+, `pip install` into the system Python fails with `error: externally-managed-environment` (PEP 668). The simplest fix is pipx (above), which is built for exactly this. If you prefer a venv: > ```bash > sudo apt install -y python3.12 python3.12-venv > python3.12 -m venv venv && source venv/bin/activate > pip install --upgrade openconstructionerp > ``` > Full Linux guide with system deps and troubleshooting: [docs/INSTALL_LINUX.md](docs/INSTALL_LINUX.md). If something looks off, run `openconstructionerp doctor` (or `python -m openconstructionerp doctor`) for a per-check OK/WARN/ERROR report. ### Alternative 1: One-line installer (handles PATH for you) ```bash # Linux / macOS curl -fsSL https://raw.githubusercontent.com/datadrivenconstruction/OpenConstructionERP/main/scripts/install.sh | bash # Windows (PowerShell) irm https://raw.githubusercontent.com/datadrivenconstruction/OpenConstructionERP/main/scripts/install.ps1 | iex ``` If you would rather not think about PATH at all, use this. It picks Docker if installed, otherwise uv, otherwise a dedicated Python virtual environment, installs OpenConstructionERP there, puts the `openconstructionerp` command on your PATH automatically, and finishes with a short panel showing the URL, the demo login and how to start. It also offers to launch right away. Open a new terminal afterwards and `openconstructionerp` just works. Runs at **http://localhost:8080**. ### Alternative 2: Docker Fastest, using the published image: ```bash docker run -d -p 8080:8080 -v oe_data:/data ghcr.io/datadrivenconstruction/openconstructionerp:latest ``` Or build from source: ```bash git clone https://github.com/datadrivenconstruction/OpenConstructionERP.git cd OpenConstructionERP make quickstart ``` Open **http://localhost:8080**. The published image starts in seconds; a from-source build takes ~2 minutes. ### Alternative 3: Local development (clone + npm + uvicorn) ```bash git clone https://github.com/datadrivenconstruction/OpenConstructionERP.git cd OpenConstructionERP # Install dependencies pip install -e ./backend[server] cd frontend && npm install && cd .. # Start (Linux/macOS) make dev # Start (Windows - two terminals) # Terminal 1: cd backend && uvicorn app.main:create_app --factory --reload --port 8000 # Terminal 2: cd frontend && npm run dev ``` Open **http://localhost:5173** - for hacking on the codebase. Requires Python 3.12+ and Node.js 20+. ### Demo Accounts Three demo accounts are created automatically on first start. Each password is **generated per installation** (via `secrets.token_urlsafe`) and printed to the backend startup log so you see it immediately, e.g.: ``` [seed] Demo user created: [email protected] / xK7p_Q2nR8sT4uV6wX9yZ [seed] Pre-set DEMO_USER_PASSWORD env to skip random generation ``` The same passwords are also persisted to `~/.openestimator/.demo_credentials.json` (chmod 600) so you can recover them later. To pin known passwords (e.g. for a team demo or CI), set the env vars **before the first boot**: - `DEMO_USER_PASSWORD` - admin (`[email protected]`) - `DEMO_ESTIMATOR_PASSWORD` - estimator (`[email protected]`) - `DEMO_MANAGER_PASSWORD` - manager (`[email protected]`) | Account | Email | Password | Role | |---------|-------|----------|------| | Admin | `[email protected]` | _see startup log or `.demo_credentials.json`_ | Full access | | Estimator | `[email protected]` | _see startup log or `.demo_credentials.json`_ | Estimator | | Manager | `[email protected]` | _see startup log or `.demo_credentials.json`_ | Manager | > On a local default install you can simply type `DemoPass1234!` on the sign-in form for any demo account. The built-in demo login accepts it, so the documented credential always works. The per-install random password above is the stored hash, kept for reference and for API tokens. This shortcut turns off whenever `SEED_DEMO=false`, which you should set for any internet-exposed deployment. > Demo accounts include 5 pre-loaded projects from Berlin, London, New York, Paris, and Dubai with complete BOQs, schedules, and cost models. > > **Security note.** For any internet-exposed deployment, set the three > `DEMO_*_PASSWORD` variables to strong, unique secrets, or disable demo > accounts entirely with `DISABLE_DEMO_ACCOUNTS=1`. Do not reuse > passwords from examples, screenshots, or earlier versions of this README. --- ## Tech Stack | Layer | Technology | Purpose | |-------|-----------|---------| | Backend | Python 3.12+ / FastAPI | Async API, Pydantic v2 validation, modular architecture | | Frontend | React 18 / TypeScript / Vite | SPA with code splitting, 27 language bundles | | Database | PostgreSQL 16+ / SQLite (dev) | OLTP with JSON columns, zero-config SQLite for development | | UI | Tailwind CSS / AG Grid | Professional data grid, responsive design, dark mode | | AI | Any LLM via REST API | Anthropic, OpenAI, Gemini, Mistral, Groq, DeepSeek | | Vector Search | LanceDB (embedded) / Qdrant | Semantic cost item search, 384d or 3072d embeddings | | CAD/BIM | [DDC cad2data](https://github.com/datadrivenconstruction) | RVT, IFC, DWG, DGN → structured quantities | | i18n | i18next + 27 language packs | Full RTL support (Arabic), locale-aware formatting | ## Architecture ### How the platform turns raw CAD/BIM into structured ERP data <img src="docs/screenshots/architecture-pipeline.jpg" alt="OpenConstructionERP - Digitalization of Processes: Pipelines for Automatic Data Creation" width="100%" /> OpenConstructionERP is built around **seven cooperating pipelines** that turn closed CAD/BIM files (RVT, IFC, DWG, DGN, PLN, TSK) into structured, queryable ERP data - without locking you into a proprietary stack. Every module in the platform plugs into one or more of these stages: 1. **Mining** - collect existing project data (CAD/BIM models, CDE drops, COBie deliverables) into a semi-structured pool. Handled by `cad`, `documents`, `bim_hub`, `file_search` modules + the **DDC cad2data** converters (RVT/IFC/DWG/DGN/PLN → canonical JSON). 2. **QTO Check & Quantity Take-off rules** - apply rule sets per discipline / family / type to extract quantities deterministically. Handled by `takeoff`, `requirements`, `validation`, and the rule editor in `match-elements`. 3. **BlackBox (company standard)** - codify your firm's classifications, formulas, unit factors and assembly recipes as a single canonical rule book (COBie / CFIHOS / SQL / Excel / Access). Handled by `costs`, `assemblies`, `catalog`, `cost_intelligence`. 4. **New project modeling** - apply the BlackBox to a fresh model: geometry → filtering → grouping → verification → BOQ. Handled by `boq`, `projects`, `match-elements`, `clash`. 5. **BlackBox mapping** - map a new project's raw element list onto the canonical rule book via vector + lexical + rule-based matchers. Handled by `match-elements` (7-stage pipeline) + AI Estimate. 6. **Project-specific data (4D/5D/6D)** - derive scheduling, cost, hours, ordering and environmental footprint per group. Handled by `scheduling`, `advanced_schedule`, `5d_planner`, `risk`, `carbon`, `hse`. 7. **Saving data & Machine Learning** - persist project history into the database, data lake and ML models so each new project starts further ahead. Handled by `analytics`, `bi_dashboards`, `ai_chat`, `cost_intelligence`, and the rule-learning loop in `clash` (Wave A4) and `match-elements`. The right-hand side of the diagram is the **automatic data retrieval** layer that every UI surface (Dashboard, BOQ editor, /clash, /match-elements, /files, /scheduling) consumes: dashboards, calculations, reports, tables, charts, geometries, and ERP-ready exports - all driven from the same canonical store. The Machine-Learning column on the far right is where the platform progressively automates classification, parameterisation, recognition and marking, replacing manual steps (<picture><source media="(prefers-color-scheme: dark)" srcset="docs/readme-icons/tools-dark.svg"><img src="docs/readme-icons/tools-light.svg" width="14" align="center" alt=""></picture>) with automatic steps (<picture><source media="(prefers-color-scheme: dark)" srcset="docs/readme-icons/zap-dark.svg"><img src="docs/readme-icons/zap-light.svg" width="14" align="center" alt=""></picture>) over time. This pipeline is the reason OpenConstructionERP can replace several commercial point-solutions with a single self-hosted stack - every module reads from and writes to the same canonical data layer. ### Technical stack ```mermaid flowchart TB UI["Frontend SPA<br>React 18, TypeScript, Vite<br>AG Grid, Tailwind, PDF.js"] subgraph Backend ["FastAPI Backend, 111 modules"] CORE["Core<br>Module loader, Event bus, Hooks, RBAC<br>Validation, FSM + audit log"] ESTIM["Estimating<br>BOQ, Costs, Catalog, Assemblies<br>Takeoff, BIM Hub, Match-Elements, 5D"] FIELD["Field Operations<br>Service, Equipment, Daily Diary<br>Portal, Resources & Crew"] COMM["Commercial<br>CRM, Contracts, Subcontractors<br>Bid Management, Variations, Suppliers, Property Dev"] QSAFE["Schedule & Quality<br>Advanced Schedule (LPS/CPM/EVM)<br>QMS, HSE, Carbon & ESG, BI Dashboards"] AIS["AI<br>AI Chat SSE, AI Estimate, Cost Intelligence<br>7 LLM providers"] CORE --> ESTIM CORE --> FIELD CORE --> COMM CORE --> QSAFE CORE --> AIS end subgraph Data ["Data layer"] PG[("PostgreSQL 16<br>SQLite in dev")] VEC[("Vector DB<br>LanceDB / Qdrant")] S3[("MinIO / S3<br>files, CAD, PDFs")] end subgraph Pipelines ["Pipelines"] CAD["DDC cad2data<br>RVT, IFC, DWG, DGN to canonical JSON"] CV["CV / OCR<br>PaddleOCR 3.0, YOLOv11<br>PDF takeoff, symbol detection"] end UI -- "REST, SSE" --> CORE BIZ --> PG BIZ --> VEC BIZ --> S3 CAD --> BIZ CV --> BIZ classDef fe fill:#1f6feb,stroke:#0d3885,color:#fff; classDef be fill:#238636,stroke:#104822,color:#fff; classDef ai fill:#db6d28,stroke:#7a3c14,color:#fff; classDef data fill:#8250df,stroke:#4a2c7d,color:#fff; class UI fe class CORE,BIZ be class AIS ai class PG,VEC,S3,CAD,CV data ``` <details> <summary>Plain-text version (for screen readers or non-Mermaid renderers)</summary> ``` ┌──────────────────────────────────────────────────┐ │ Frontend (React SPA) │ │ TypeScript · Tailwind · AG Grid · PDF.js │ └──────────────────┬───────────────────────────────┘ │ REST + SSE ┌──────────────────┴───────────────────────────────┐ │ Backend (FastAPI) │ │ 111 auto-discovered modules · Plugin system │ ├──────────────────────────────────────────────────┤ │ BOQ · Costs · Schedule · 5D · Validation · AI │ │ Takeoff · Tendering · Risk · Reports · Catalog │ │ Requirements · Markups · Punch List · BIM Hub │ │ PropDev · Geo Hub · Coordination · Clash AI │ │ Accommodation · Floating Chat · 10 widgets │ ├──────────────────────────────────────────────────┤ │ Database (PostgreSQL / SQLite) │ │ Vector DB (LanceDB / Qdrant) │ │ CAD Converters (DDC cad2data) │ │ CV Pipeline (PaddleOCR + YOLOv11) │ └──────────────────────────────────────────────────┘ ``` </details> --- ## Support the Project OpenConstructionERP is built and maintained by the community. If you find it useful: - ⭐ **[Star this repo](https://github.com/datadrivenconstruction/OpenConstructionERP)** - helps others discover the project - <picture><source media="(prefers-color-scheme: dark)" srcset="docs/readme-icons/comment-discussion-dark.svg"><img src="docs/readme-icons/comment-discussion-light.svg" width="14" align="center" alt=""></picture> **[Join Discussions](https://t.me/datadrivenconstruction)** - ask questions, share ideas, help others - <picture><source media="(prefers-color-scheme: dark)" srcset="docs/readme-icons/bug-dark.svg"><img src="docs/readme-icons/bug-light.svg" width="14" align="center" alt=""></picture> **[Report issues](https://github.com/datadrivenconstruction/OpenConstructionERP/issues)** - help us improve - <picture><source media="(prefers-color-scheme: dark)" srcset="docs/readme-icons/briefcase-dark.svg"><img src="docs/readme-icons/briefcase-light.svg" width="14" align="center" alt=""></picture> **[Professional consulting](https://datadrivenconstruction.io/contact-support/)** - custom deployment, training, enterprise support ## Security OpenConstructionERP includes security hardening for production deployments: - Path traversal protection on all file download endpoints - CORS wildcard blocking in production mode - Bounded input validation on bulk price operations - Generic error responses to prevent account enumeration - Production startup checks for secrets, credentials, and database configuration **Do not open public GitHub issues for security vulnerabilities.** Report privately via [GitHub Security Advisories](https://github.com/datadrivenconstruction/OpenConstructionERP/security/advisories/new) or by email to [[email protected]](mailto:[email protected]). See [SECURITY.md](SECURITY.md) for the full coordinated-disclosure policy, response timelines, supported versions, scope, and regulatory-reporting obligations under EU Regulation 2024/2847 (Cyber Resilience Act). ## AI disclaimer AI suggestions produced by this software are preliminary estimates. A qualified construction-estimation professional must verify all quantities, classifications, and costs before any contractual or tender-submission use. See [NOTICE](NOTICE) and [TERMS.md](TERMS.md) §4. ## Trademarks All product names, logos, and trademarks referenced in this repository are property of their respective owners. Any comparative references to commercial categories or products are made for fair comparative purposes based on publicly available information. OpenConstructionERP is an independent project and is not affiliated with, endorsed by, or sponsored by any third-party trademark owners. Full attributions in [NOTICE](NOTICE). ## Export control This software contains cryptographic functionality (bcrypt password hashing, JWT signing). Export is classified under **US EAR 740.17** (TSU mass-market exemption) and **EU Regulation 2021/821** (dual-use). The Software is **not authorised** for download, use, or re-export to jurisdictions subject to comprehensive OFAC sanctions. See [NOTICE](NOTICE) for the full notice. ## License **AGPL-3.0** - see [LICENSE](LICENSE). Third-party attributions in [NOTICE](NOTICE). You can freely use, modify, and distribute this software. If you modify and deploy it as a service, AGPL §13 requires you to make the corresponding source code available under the same licence. For **commercial licensing** without AGPL obligations, see [COMMERCIAL-LICENSE.md](COMMERCIAL-LICENSE.md) or contact [[email protected]](mailto:[email protected]). ## Privacy and terms - [PRIVACY.md](PRIVACY.md) - GDPR / UK DPA / CCPA / LGPD baseline - [TERMS.md](TERMS.md) - terms of use for the hosted instance - [COOKIES.md](COOKIES.md) - browser storage inventory - [SECURITY.md](SECURITY.md) - responsible disclosure --- <p align="left"> <!-- Social Links --> <a href="https://x.com/datadrivenconst" target="_blank"> <img src="https://img.shields.io/twitter/follow/datadrivenconst?logo=X&style=flat&color=%23f5f5f5" alt="Follow on X"> </a> <a href="https://www.youtube.com/@datadrivenconstruction" target="_blank"> <img src="https://img.shields.io/badge/YouTube-FF0000?logo=youtube&logoColor=white" alt="Subscribe on YouTube"> </a> <a href="https://www.linkedin.com/company/78381569" target="_blank"> <img src="https://custom-icon-badges.demolab.com/badge/LinkedIn-0A66C2?logo=linkedin-white&logoColor=fff" alt="Connect on LinkedIn"> </a> <a href="https://www.youtube.com/watch?v=X06cIaroAeI" target="_blank"> <img src="https://img.shields.io/badge/▶_Watch_demo-12_min_walkthrough-FF0000?logo=youtube&logoColor=white" alt="Watch the 12-minute walkthrough"> </a> </p> <p align="left"> <a href="https://datadrivenconstruction.io"> <img src="https://datadrivenconstruction.io/wp-content/uploads/2023/07/DataDrivenConstruction-1-1.png" alt="DDC Logo" width="200"/> </a> <br> <b> Unlock the Power of Data in Construction</b> <br> <picture><source media="(prefers-color-scheme: dark)" srcset="docs/readme-icons/rocket-dark.svg"><img src="docs/readme-icons/rocket-light.svg" width="14" align="center" alt=""></picture> Move to full-cycle data management where only unified <br /> structured data & processes remain and where <picture><source media="(prefers-color-scheme: dark)" srcset="docs/readme-icons/unlock-dark.svg"><img src="docs/readme-icons/unlock-light.svg" width="14" align="center" alt=""></picture> your data is yours </p>

ERP Manufacturing & MRP
320 Github Stars