# Decision Tree Helpdesk Application This application provides a decision tree-based helpdesk system to guide users through troubleshooting steps. ## Features - Interactive decision tree navigation - Google OAuth authentication - Admin interface for managing decision trees - User-friendly interface ## Prerequisites - Python 3.7+ - pip (Python package manager) - A Google Developer account (for OAuth) ## Installation 1. Clone the repository: ``` git clone https://github.com/yourusername/decision-tree-helpdesk.git cd decision-tree-helpdesk ``` 2. Create and activate a virtual environment: ``` python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate ``` 3. Install dependencies: ``` pip install -r requirements.txt ``` 4. Set up environment variables: Create a `.env` file in the root directory with the following variables: ``` GOOGLE_CLIENT_ID=your_client_id_here GOOGLE_CLIENT_SECRET=your_client_secret_here SECRET_KEY=your_secret_key_here ``` 5. Initialize the database: ``` flask db init flask db migrate -m "Initial migration" flask db upgrade ``` ## Running the Application 1. Start the development server: ``` flask run ``` 2. Open your browser and navigate to: ``` http://localhost:5000 ``` ## Usage ### User Guide 1. Log in using your Google account 2. Navigate through the decision tree by answering questions 3. Follow the recommended solutions for your issue ### Admin Guide 1. Log in as an administrator 2. Access the admin panel to manage decision trees 3. Create, edit, or delete nodes in the decision tree 4. Define question and answer paths ## Contributing 1. Fork the repository 2. Create a feature branch: `git checkout -b feature-name` 3. Commit your changes: `git commit -m 'Add some feature'` 4. Push to the branch: `git push origin feature-name` 5. Submit a pull request ## License This project is licensed under the MIT License - see the LICENSE file for details.