Skip to content

yann83/ChooseIT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ChooseIT

Python

This program is designed for companies with multiple user support departments: IT, human resources, etc. It's an assistant application that navigates a decision tree, allowing users to direct their support requests to the correct department with the appropriate information. This is the desktop application component, which retrieves information from ChooseIT Creator.

Demo ChooseIt

Features

  • 🧙 Wizard Interface - Step-by-step navigation like installation wizards
  • 📱 Dark Theme - Modern, professional dark UI
  • 🔄 Auto-sync - Automatically fetches latest decision tree on startup
  • 📝 Form Support - Collects user input through various field types
  • 📧 Email Integration - Opens email client with pre-filled data
  • 🔗 URL Actions - Opens links in default browser
  • Navigation History - Go back to previous steps

Requirements

  • Python 3.11 or higher
  • Tkinter (included with Python on Windows)

No external dependencies required!

Installation

  1. Clone or download this repository
  2. Ensure Python 3.11+ is installed
  3. Run the application:
python main.py

Or use the latest msi installer or package with exe.

Usage

Command Line Options

# Use local JSON file
python main.py --json path/to/decision-tree.json

# Fetch from server
python main.py --server http://localhost/decision-tree-creator

# Enable debug logging
python main.py --debug

Running with Example

python main.py --json example_tree.json

Navigation

  • Next - Proceed to the next step (requires selection for Question nodes)
  • Previous - Go back to the previous step
  • Cancel - Exit the application

Form Fields

The application supports various input types defined in the decision tree:

Type Description
Input Single-line text field
Textarea Multi-line text field
Dropdown Select from predefined options
Radio Single choice from options
Checkbox Multiple choices

Configuration

The application stores configuration in <user>/.chooseIT_creator/:

  • config.json - Application settings
  • cached_tree.json - Cached decision tree for offline use

Variable Substitution

Use {brickId} syntax to include collected data:

  • In messages: Hello {i1}!
  • In email subjects: Request from {name} - {department}
  • In email body: Name: {name}\nIssue: {description}

Deployment

Enterprise Deployment

  1. Configure server URL in config.json or via command line
  2. Deploy to workstations via GPO, SCCM, or manual installation
  3. JSON updates are automatically fetched on each launch

Offline Mode

If the server is unavailable, the application uses the cached decision tree from the last successful sync.

Troubleshooting

"No decision tree source available"

  • Check that --json or --server is correctly specified
  • Verify the JSON file exists and is valid
  • Check network connectivity to the server

Window doesn't appear

  • Ensure Tkinter is installed: python -m tkinter
  • On Linux, install: sudo apt-get install python3-tk

Form data not showing in email

  • Verify brick IDs match exactly (case-sensitive)
  • Check that bricks are defined in the form node

License

MIT License

Related

About

It's a user support assistant for businesses that guides users to the right contact person based on their choices. It works with the creation module.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages