OrgChart Visualizer is a powerful full-stack application designed to help organizations of all sizes visualize, analyze, and manage their organizational structures. With an intuitive interface and powerful features, it transforms complex hierarchical data into clear, interactive visualizations that provide valuable insights into your organization.
- π Interactive Org Charts: Drag, zoom, and explore your organization's structure with fluid, responsive visualizations
- π Advanced Search & Filtering: Quickly find specific employees or departments with powerful search capabilities
- π Timeline Analysis: Track changes in your organization's structure over time with historical comparisons
- π Multi-Language Support: Full internationalization with English and Hebrew support
βοΈ RTL Layout Support: Native right-to-left layout for Hebrew and other RTL languages- π± Responsive Design: Enjoy a seamless experience across desktop and mobile devices
- π Real-time Updates: Make changes to your org structure and see them reflected instantly
- π₯ Easy Data Import/Export: Import data from Excel files and export visualizations as images or Excel spreadsheets
- π Comparative Analysis: Compare organizational structures across different time periods
- π Smart Notifications: Language-aware toast notifications with RTL-aware positioning
- βοΈ Customizable Settings: Tailor the application to your preferences with configurable settings and keyboard shortcuts
The application supports multiple languages with full RTL (Right-to-Left) layout support:
- Supported Languages: English, Hebrew (Χ’ΧΧ¨ΧΧͺ)
- RTL Layout: Automatic layout adjustment for RTL languages
- Font Support: Custom Hebrew font (Rubik) for optimal readability
- Smart Positioning: UI elements automatically adjust position based on text direction
- Translated UI: 40+ translation keys covering all user-facing text
For detailed information about the internationalization setup, see LANGUAGE_SETUP.md.
- Python 3.8+
- Node.js 14+ and npm
- Git
-
Clone the repository
git clone https://github.com/yourusername/tree_visualization_app.git cd tree_visualization_app
-
Install backend dependencies
pip install -r requirements.txt
-
Install frontend dependencies
npm install
-
Build the frontend
npm run build
-
Start the development server
python main.py
-
Access the application
Open your browser and navigate to
http://localhost:5001
For end users, the application can be run as a standalone executable:
- Download the latest release from the releases page
- Extract the zip file to a location of your choice
- Run
TreeVisualizationApp.exe
(Windows) or the application bundle (macOS)
Build platform-specific executables for Windows and macOS with all internationalization features included.
- Python 3.8+ with pip
- Node.js 14+ with npm
- PyInstaller:
pip install pyinstaller
Important: PyInstaller creates platform-specific executables. Build on Windows for .exe
and on macOS for Mac executables.
Use the automated build script that handles everything:
Windows:
build.bat
macOS/Linux:
./build.sh
The script will automatically:
- Install all Python dependencies (including PyInstaller)
- Install all Node.js dependencies
- Build the React frontend with all translations
- Create the standalone executable
If you prefer to build manually:
-
Install Dependencies
pip install -r requirements.txt npm install
-
Build React Frontend (CRITICAL - includes all translations)
npm run build
-
Build the Executable
pyinstaller app.spec
-
Locate the Executable
dist/TreeVisualizationApp/TreeVisualizationApp.exe (Windows) dist/TreeVisualizationApp/TreeVisualizationApp (macOS)
The standalone executable includes:
- β Complete React frontend with all components
- β Flask backend with all routes
- β English & Hebrew translations (40+ keys)
- β Full RTL layout support
- β Language-aware UI (toast positioning, arrow directions)
- β Automatic browser launch
- β All dependencies (no installation required to run)
Distribute the entire dist/TreeVisualizationApp/
folder:
# Windows
cd dist
zip -r TreeVisualizationApp-v1.0-windows.zip TreeVisualizationApp/
# macOS
tar -czf TreeVisualizationApp-v1.0-macos.tar.gz TreeVisualizationApp/
File Size: Expect ~150-200 MB (Windows) or ~100-150 MB (macOS) including Python interpreter and all dependencies.
Build fails with missing build/ directory
- Solution: Run
npm run build
first
Executable won't start
- Solution: Check that all dependencies in
requirements.txt
are installed
Browser doesn't open automatically
- Solution: Manually navigate to
http://localhost:5001
Hebrew text not displaying
- Solution: Rubik font loads from Google Fonts - check internet connection
- Launch the application
- Choose between creating a new database or selecting an existing one
- Import your organizational data from an Excel file
- Explore your organization's structure through the interactive visualization
- Switch languages from the settings menu (βοΈ icon)
- View Existing Charts: Access and navigate through your previously created org charts
- Upload New Data: Import new organizational data to create or update charts
- Apply Settings: Customize your view including language preferences
- Compare Data: Analyze changes between different time periods
- Export Visualizations: Download your charts as images or export data to Excel
- Cmd/Ctrl + F: Open search bar
- Cmd/Ctrl + H: Toggle help modal
- Cmd/Ctrl + T: Open table selection
- Cmd/Ctrl + U: Open file upload modal
- Cmd/Ctrl + ,: Open settings
- And many more! (See settings for full list)
Track changes in your organization over time:
- View historical data points
- Analyze employee movement and promotions
- Identify structural changes
Generate comprehensive reports comparing organizational structures:
- Department size changes
- Reporting structure modifications
- Role distribution analysis
Find specific information quickly:
- Search by name, role, department, or any custom field
- Filter by various attributes
- Highlight specific nodes or branches
- Navigate search results with prev/next buttons
Seamlessly switch between languages:
- Full UI translation
- Automatic layout mirroring for RTL languages
- Language-specific fonts and styling
- Smart toast notification positioning
- React.js - UI framework
- i18next / react-i18next - Internationalization
- Framer Motion - Animations and transitions
- Tailwind CSS - Styling and responsive design with RTL support
- D3.js - Data visualization
- React-Toastify - Toast notifications
- Axios - API requests
- Lucide React & React Feather - Icon libraries
- Flask - Web server
- SQLAlchemy - Database ORM
- Pandas - Data processing
- ReportLab - PDF report generation
- PyInstaller - Creating standalone executables
- Custom Hebrew Font: Rubik font for optimal Hebrew text rendering
- RTL-Aware Layout: All margins, paddings, and positioning automatically flip for RTL languages
- Arrow Reversal: Navigation arrows (β/β) reverse direction in RTL mode
- Smart Toast Positioning: Bottom-left for Hebrew, bottom-right for English
- Responsive Icons: Icon positioning adapts to text direction
We welcome contributions to OrgChart Visualizer! Please feel free to submit issues, feature requests, or pull requests.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
To add support for a new language:
- Create a new translation file in
src/i18n/locales/[language-code].json
- Add the language to
src/i18n/config.js
- If the language is RTL, add RTL support in relevant components
- Update the language selector in
SettingsModal.js
See LANGUAGE_SETUP.md for detailed instructions.
This project is licensed under the MIT License - see the LICENSE file for details.
For questions, support, or feedback, please reach out to:
- Email: [email protected]
- GitHub Issues: https://github.com/yourusername/tree_visualization_app/issues
- Built with support from Claude Code by Anthropic
- Hebrew font: Rubik by Google Fonts
- Icons: Lucide and React Feather
Made with β€οΈ for organizations worldwide