Skip to content

TimVanOnckelen/eendraadschema

Β 
Β 

Repository files navigation

Eendraadschema

Modern electrical diagram design tool for Belgian AREI standards

React TypeScript Vite License

Eendraadschema Screenshot

οΏ½ Live Demo

Try the application online: https://eendraadschema.xeweb.be

οΏ½πŸ“– About

Original Application: Created by Ivan Goethals (2019-2025)
React 19 Refactor & UI Improvements: Tim Van Onckelen (2026)

This version is a modern refactor of the original eendraadschema application, migrated to React 19 with an improved user interface while maintaining all the original logic and functionality created by Ivan Goethals.

🎯 Purpose

Design and draw one-wire electrical diagrams as enforced by the Belgian AREI legislation. The application runs entirely in the browser and is built with TypeScript.

✨ Features

🎨 User Interface

  • Modern React 19 component architecture
  • Ribbon-based interface with compact button layouts
  • Responsive design with flexbox layouts
  • Improved visual consistency

⚑ Schema Editor

  • Full React implementation
  • Maintained all original electrical schema functionality
  • Improved rendering performance
  • Interactive SVG diagrams

πŸ—ΊοΈ Situation Plan (Situatieschema)

  • Searchable SVG symbol library
  • Filter symbols by category
  • Drag-and-drop placement of electrical symbols
  • Element selection and positioning tools
  • Multi-page management
  • Zoom controls (25%, 50%, 75%, 100%, 150%, 200%)

πŸ’Ύ File Management

  • Auto-save every 5 seconds
  • IndexedDB-based local storage
  • Recovery dialog for unsaved changes
  • Visual save status indicator
  • Import/export .eds files
  • PDF export functionality

πŸ“š Documentation

  • Integrated documentation viewer
  • PDF manuals included

πŸš€ Getting Started

Prerequisites

  • Node.js (v18 or higher recommended)
  • npm or yarn

Installation

# Clone the repository
git clone https://github.com/TimVanOnckelen/eendraadschema.git
cd eendraadschema

# Install dependencies
npm install

# Start development server
npm run dev

The application will open at http://localhost:5173

Building for Production

npm run build

This creates a dist folder with the built application.

πŸ› οΈ Technical Stack

  • React 19 - Modern UI framework
  • TypeScript - Type-safe development
  • Vite - Fast build tool and dev server
  • IndexedDB - Client-side storage
  • jsPDF - PDF generation
  • Modern CSS - Component-based styling

πŸ”„ Migration Status

This application is in an active migration phase from vanilla TypeScript to React 19. Approximately 30% of the UI layer has been migrated to React components, with the remaining code consisting of core business logic and complex rendering systems.

πŸ“Š Detailed Migration Report: LEGACY_CODE_AUDIT.md

The audit document provides:

  • Complete inventory of React vs legacy code
  • Detailed analysis of hybrid components
  • Migration priorities and recommendations
  • Technical debt assessment

🀝 Contributing

Contributions are welcome and appreciated!

How to Contribute

  1. 🍴 Fork the repository
  2. πŸ”¨ Create a feature branch (git checkout -b feature/amazing-feature)
  3. βœ… Commit your changes (git commit -m 'Add amazing feature')
  4. πŸ“€ Push to the branch (git push origin feature/amazing-feature)
  5. πŸŽ‰ Open a Pull Request

Guidelines

  • Please open an issue first for major changes to discuss the approach
  • Check LEGACY_CODE_AUDIT.md to understand the current migration status
  • Follow the existing code style and conventions
  • Write clear commit messages

For the Original Version

Contributions to the original vanilla TypeScript version: igoethal/eendraadschema

πŸ“„ License

This project is licensed under the GNU General Public License v3.0 - see LICENSE.md for details.

Copyright:

  • Original Application: Β© 2019-2025 Ivan Goethals
  • React Refactor & UI Improvements: Β© 2025-2026 Tim Van Onckelen

πŸ™ Acknowledgments

All core functionality for drawing electrical diagrams according to Belgian AREI legislation was developed by Ivan Goethals. This React version is a modernization of the architecture and user interface, but the electrical schema logic remains completely the work of Ivan.

πŸ’¬ Support

⚠️ Note

This is a hobby project maintained in free time. Commercial use is not planned to maintain the freedom to work on it as desired.


Made with ❀️ in Belgium

  • Technical debt assessment

About

Eendraadschema Community edition

Resources

License

Unknown, Unknown licenses found

Licenses found

Unknown
LICENSE.md
Unknown
license.html

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • TypeScript 92.7%
  • CSS 7.1%
  • Other 0.2%