This project is a multi-user support platform designed for Internet Service Providers (ISPs) using Python Flask for the backend and Bootstrap for the frontend. The application integrates with the Wisphub API to fetch client data and provides a panel for creating question flows that operators can use to assist customers.
- User Authentication: Secure login and logout functionality for operators.
- Support Ticket Management: Operators can view, manage, and respond to support tickets.
- Question Flow Builder: A user-friendly interface for creating and editing question flows to assist customers effectively.
- Integration with Wisphub API: Fetch client data seamlessly from the Wisphub API.
isp-support-platform
├── src
│ ├── app.py # Entry point of the application
│ ├── config.py # Configuration settings
│ ├── extensions.py # Initializes extensions
│ ├── models # Contains data models
│ │ ├── user.py # User model
│ │ └── ticket.py # Ticket model
│ ├── auth # Authentication package
│ │ ├── routes.py # Authentication routes
│ │ └── forms.py # Authentication forms
│ ├── api_clients # API client for Wisphub
│ │ └── wisphub.py # Functions to interact with Wisphub API
│ ├── support # Support package
│ │ ├── routes.py # Support routes
│ │ ├── controllers.py # Business logic for support
│ │ └── flows # Question flows management
│ │ ├── builder.py # Flow builder functions
│ │ └── storage.py # Flow storage management
│ ├── templates # HTML templates
│ │ ├── layout.html # Base layout
│ │ ├── auth # Authentication templates
│ │ │ └── login.html # Login page
│ │ ├── dashboard.html # Main dashboard
│ │ ├── support # Support templates
│ │ │ ├── ticket_list.html # List of support tickets
│ │ │ └── ticket_detail.html # Details of a specific ticket
│ │ └── flows # Flow templates
│ │ ├── builder.html # Flow builder interface
│ │ └── editor.html # Flow editor interface
│ └── static # Static files
│ ├── css # CSS files
│ │ └── bootstrap.min.css # Bootstrap CSS
│ └── js # JavaScript files
│ └── app.js # Custom JavaScript
├── migrations # Database migrations
│ └── README # Migration instructions
├── tests # Test suite
│ ├── conftest.py # Test configuration
│ ├── test_auth.py # Authentication tests
│ └── test_flows.py # Question flow tests
├── Dockerfile # Docker image instructions
├── docker-compose.yml # Docker services configuration
├── requirements.txt # Python dependencies
├── .env.example # Example environment variables
└── README.md # Project documentation
-
Clone the repository:
git clone <repository-url> cd isp-support-platform -
Create a virtual environment and activate it:
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate` -
Install the required dependencies:
pip install -r requirements.txt -
Set up environment variables by copying
.env.exampleto.envand filling in the necessary values. -
Run the application:
python src/app.py
- Access the application in your web browser at
http://localhost:5000. - Use the login page to authenticate as an operator.
- Navigate through the dashboard to manage support tickets and create question flows.
Contributions are welcome! Please submit a pull request or open an issue for any enhancements or bug fixes.
This project is licensed under the MIT License.