Enhance AJAX navigation and pagination across dashboard templates

- Implemented AJAX-based navigation for links and forms to improve user experience.
- Added loading indicators during AJAX requests to enhance feedback.
- Refactored data tables and search results to load content dynamically via AJAX.
- Created partial templates for data tables and search results to streamline rendering.
- Updated pagination links to work with AJAX, maintaining browser history.
- Added JavaScript files for handling AJAX navigation and pagination.
- Improved session detail view with conditional rendering for action buttons.
- Updated Docker Compose file for consistency in version formatting.
- Created a TODO list for future enhancements and features.
This commit is contained in:
2025-05-17 02:28:38 +02:00
parent fe69bdbc94
commit 482bea1ba5
21 changed files with 1275 additions and 565 deletions

View File

@ -32,7 +32,7 @@ A Django application that creates an analytics dashboard for chat session data.
2. Create a virtual environment and activate it:
```sh
```sh
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
```
@ -99,23 +99,25 @@ A Django application that creates an analytics dashboard for chat session data.
The CSV file should contain the following columns:
- session_id: Unique identifier for the chat session
- start_time: When the session started (datetime)
- end_time: When the session ended (datetime)
- ip_address: IP address of the user
- country: Country of the user
- language: Language used in the conversation
- messages_sent: Number of messages in the conversation (integer)
- sentiment: Sentiment analysis of the conversation (string)
- escalated: Whether the conversation was escalated (boolean)
- forwarded_hr: Whether the conversation was forwarded to HR (boolean)
- full_transcript: Full transcript of the conversation (text)
- avg_response_time: Average response time in seconds (float)
- tokens: Total number of tokens used (integer)
- tokens_eur: Cost of tokens in EUR (float)
- category: Category of the conversation (string)
- initial_msg: First message from the user (text)
- user_rating: User rating of the conversation (string)
| Column | Description |
| ------------------- | ------------------------------------------------------ |
| `session_id` | Unique identifier for the chat session |
| `start_time` | When the session started (datetime) |
| `end_time` | When the session ended (datetime) |
| `ip_address` | IP address of the user |
| `country` | Country of the user |
| `language` | Language used in the conversation |
| `messages_sent` | Number of messages in the conversation (integer) |
| `sentiment` | Sentiment analysis of the conversation (string) |
| `escalated` | Whether the conversation was escalated (boolean) |
| `forwarded_hr` | Whether the conversation was forwarded to HR (boolean) |
| `full_transcript` | Full transcript of the conversation (text) |
| `avg_response_time` | Average response time in seconds (float) |
| `tokens` | Total number of tokens used (integer) |
| `tokens_eur` | Cost of tokens in EUR (float) |
| `category` | Category of the conversation (string) |
| `initial_msg` | First message from the user (text) |
| `user_rating` | User rating of the conversation (string) |
## Future Enhancements
@ -128,4 +130,4 @@ The CSV file should contain the following columns:
## License
This project is licensed under the MIT License - see the LICENSE file for details.
This project is unlicensed. Usage is restricted to personal and educational purposes only. For commercial use, please contact the author.