| migrations | ||
| static | ||
| templates | ||
| .gitignore | ||
| admin.py | ||
| app.py | ||
| auth.py | ||
| commands.py | ||
| forms.py | ||
| models.py | ||
| oauth.py | ||
| README.md | ||
| recreate_db.py | ||
| requirements.txt | ||
| user.py | ||
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
-
Clone the repository:
git clone https://github.com/yourusername/decision-tree-helpdesk.git cd decision-tree-helpdesk -
Create and activate a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate -
Install dependencies:
pip install -r requirements.txt -
Set up environment variables: Create a
.envfile 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 -
Initialize the database:
flask db init flask db migrate -m "Initial migration" flask db upgrade
Running the Application
-
Start the development server:
flask run -
Open your browser and navigate to:
http://localhost:5000
Usage
User Guide
- Log in using your Google account
- Navigate through the decision tree by answering questions
- Follow the recommended solutions for your issue
Admin Guide
- Log in as an administrator
- Access the admin panel to manage decision trees
- Create, edit, or delete nodes in the decision tree
- Define question and answer paths
Contributing
- Fork the repository
- Create a feature branch:
git checkout -b feature-name - Commit your changes:
git commit -m 'Add some feature' - Push to the branch:
git push origin feature-name - Submit a pull request
License
This project is licensed under the MIT License - see the LICENSE file for details.