Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/exios66/survey-calculator
Python Survey Calculator -- Introductory Survey to Chatbot Presets.
https://github.com/exios66/survey-calculator
Last synced: 10 days ago
JSON representation
Python Survey Calculator -- Introductory Survey to Chatbot Presets.
- Host: GitHub
- URL: https://github.com/exios66/survey-calculator
- Owner: Exios66
- License: mit
- Created: 2024-11-04T06:29:13.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-11-04T10:09:41.000Z (3 months ago)
- Last Synced: 2024-11-15T17:41:36.206Z (2 months ago)
- Language: Python
- Homepage: https://exios66.github.io/Survey-Calculator/
- Size: 20.8 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Survey Calculator
A web application that helps determine the most suitable chatbot interaction style based on user preferences through a survey interface.
## Overview
The Survey Calculator is a full-stack web application that allows users to:
- Take a survey rating their preferences for different chatbot interaction styles
- Get personalized recommendations for chatbot presets based on their scores
- View detailed documentation about the different preset options
- Toggle between light and dark themes## Features
### Frontend (index.html)
- Clean, modern UI built with HTML, CSS and vanilla JavaScript
- Responsive design that works on mobile and desktop
- Interactive survey form with real-time validation
- Loading states and error handling
- Dark/light theme toggle with CSS variables for consistent theming
- Tab navigation between survey and documentation
- Animated transitions and hover effects
- Custom Google Fonts integration (Roboto)
- Accessibility features including proper ARIA labels
- Error and success message handling### Backend (app.py & evaluator.py)
- Flask REST API endpoint (/api/process-survey) for handling survey submissions
- CORS enabled for cross-origin requests
- Comprehensive error handling and logging
- Survey evaluation logic with configurable thresholds
- Score validation (0-100 range)
- Detailed logging of all operations with both file and console output
- Type hints and documentation for better code maintainability### Chatbot Presets
Three distinct interaction styles are evaluated:1. **Supportive and Empathetic**
- Threshold: 70
- Focuses on emotional support and understanding
- Ideal for users seeking compassionate interaction2. **Direct and Analytical**
- Threshold: 50
- Emphasizes logical problem-solving
- Best for users preferring straightforward communication3. **Playful and Casual**
- Threshold: 30
- Maintains a light, informal tone
- Suitable for casual conversations and engagement## Setup
1. **Create and activate a virtual environment**:
```bash
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
```2. **Install the required dependencies**:
```bash
pip install -r requirements.txt
```## Usage
1. **Start the Flask server**:
```bash
python app.py
```2. **Open index.html in your browser** to access the survey interface
3. **Complete the survey** by rating your preferences for different interaction styles
4. **View your results** to see your recommended chatbot preset
## Contributing
We welcome contributions from the community. To contribute:
1. **Fork the repository**
2. **Create a new branch** for your feature or bugfix:
```bash
git checkout -b feature-name
```3. **Commit your changes**:
```bash
git commit -m "Description of your changes"
```4. **Push to the branch**:
```bash
git push origin feature-name
```5. **Open a pull request** and describe your changes
## License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
## Contributors
- **[Exios66](https://github.com/Exios66)**: The main contributor and maintainer of the project.
## Contact
For any questions or feedback, feel free to open an issue or contact [Exios66](https://github.com/Exios66).
## Additional Resources
- **Project Homepage**: [Survey-Calculator](https://exios66.github.io/Survey-Calculator/)
- **Repository URL**: [Survey-Calculator on GitHub](https://github.com/Exios66/Survey-Calculator)