A Flask-based web application featuring AI chat integration with Azure Bot Framework and Text-to-Speech capabilities.
- 🤖 AI-powered chat widget with Azure Bot Framework
- 🎤 Advanced Text-to-Speech with Azure Speech Services
- 🎨 Multiple themed pages (Springfield Government, Contoso Coffee)
- 📱 Responsive design with mobile support
- ⚡ Real-time speech synthesis with customizable voices
Contoso Coffee: https://2025demowebappexample-gja6b0hrg3evghd2.eastus2-01.azurewebsites.net/contoso
Springfield Government: https://2025demowebappexample-gja6b0hrg3evghd2.eastus2-01.azurewebsites.net/springfield
Ravenna City: https://2025demowebappexample-gja6b0hrg3evghd2.eastus2-01.azurewebsites.net/
IRS Example: https://2025demowebappexample-gja6b0hrg3evghd2.eastus2-01.azurewebsites.net/irs
- Python 3.8+
- Azure subscription with:
- Bot Framework registration
- Speech Services resource
- App Service (for deployment)
-
Clone the repository
git clone https://github.com/yourusername/govsite-ai-chat.git cd govsite-ai-chat -
Install dependencies
pip install -r requirements.txt
-
Configure environment variables
cp .env.example .env # Edit .env with your Azure credentials -
Run the application
python app.py
Update static/config/chat-config.js with your Azure credentials:
const CHAT_CONFIG = {
directLineSecret: 'your-directline-secret',
speechKey: 'your-speech-key',
speechRegion: 'your-region'
};- Easy deployment with GitHub integration
- Built-in SSL and custom domains
- Auto-scaling capabilities
- Perfect for frontend-heavy applications
- Integrated CI/CD with GitHub
- Built-in authentication
- Consistent deployment across environments
- Easy scaling with Azure Container Instances
- Create new HTML template in
templates/ - Create corresponding CSS file in
static/css/ - Add route in
app.py - Customize chat widget colors in CSS
- Edit voice options in
static/js/tts-settings.js - Customize UI in the HTML templates
- Adjust styling in theme-specific CSS files
GovSite/
├── app.py # Flask application
├── templates/ # HTML templates
│ ├── springfield_homepage.html # Government theme
│ └── contoso.html # Coffee shop theme
├── static/
│ ├── css/ # Stylesheets
│ ├── js/ # JavaScript files
│ ├── config/ # Configuration files
│ └── images/ # Static images
├── requirements.txt # Python dependencies
└── README.md # This file
- Testing on iOS using Safari proved unreliable for TTS readout.
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
MIT License - see LICENSE file for details