help@rskworld.in +91 93305 39277
RSK World
  • Home
  • Development
    • Web Development
    • Mobile Apps
    • Software
    • Games
    • Project
  • Technologies
    • Data Science
    • AI Development
    • Cloud Development
    • Blockchain
    • Cyber Security
    • Dev Tools
    • Testing Tools
  • Blog
  • About
  • Contact

Theme Settings

Color Scheme
Display Options
Font Size
100%
Back to Project
RSK World
weather-chatbot
RSK World
weather-chatbot
Weather Chatbot - Python + Flask + OpenWeatherMap + OpenAI + Weather Forecast + Weather Alerts + Natural Language Processing
weather-chatbot
  • __pycache__
  • cache
  • logs
  • scripts
  • sessions
  • static
  • templates
  • tests
  • utils
  • .dockerignore778 B
  • .env.example1.5 KB
  • .gitignore2.4 KB
  • .pre-commit-config.yaml1 KB
  • API.md7.9 KB
  • CHANGELOG.md2.4 KB
  • CHECKLIST.md5.4 KB
  • CONTRIBUTING.md1.9 KB
  • Dockerfile1.4 KB
  • FEATURES.md7.1 KB
  • FINAL_CHECK.md6.7 KB
  • GITHUB_RELEASE_INSTRUCTIONS.md5.4 KB
  • INSTALL.md4 KB
  • LICENSE1.3 KB
  • MANIFEST.in553 B
  • Makefile2 KB
  • PROJECT_SUMMARY.md12.9 KB
  • README.md7.2 KB
  • RELEASE_NOTES_v1.0.0.md8.9 KB
  • VERIFICATION_REPORT.md9.2 KB
  • app.py22.2 KB
  • chatbot.py1.7 KB
  • config.py4.9 KB
  • docker-compose.yml2.2 KB
  • nginx.conf2.3 KB
  • pytest.ini549 B
  • requirements.txt1.9 KB
  • run.py3.1 KB
  • setup.py3.1 KB
  • weather_api.py578 B
run.pychatbot.cpython-313.pycdocker-compose.yml
run.py
Raw Download
Find: Go to:
#!/usr/bin/env python3
"""
Weather Chatbot Runner
======================

Author: RSK World (https://rskworld.in)
Founded by: Molla Samser
Designer & Tester: Rima Khatun
Contact: +91 93305 39277, hello@rskworld.in, support@rskworld.in
Location: Nutanhat, Mongolkote, Purba Burdwan, West Bengal, India, 713147
Year: 2026

Description: Entry point for the Weather Chatbot application
"""

import os
import sys
from app import app

def main():
    """Main entry point for the Weather Chatbot application"""
    
    # Print startup banner
    print("=" * 60)
    print("šŸŒ¤ļø  Weather Chatbot - RSK World")
    print("=" * 60)
    print("Author: RSK World (https://rskworld.in)")
    print("Founded by: Molla Samser")
    print("Designer & Tester: Rima Khatun")
    print("Contact: +91 93305 39277")
    print("Email: hello@rskworld.in, support@rskworld.in")
    print("Location: Nutanhat, Mongolkote, Purba Burdwan, West Bengal, India")
    print("Year: 2026")
    print("=" * 60)
    print("Features:")
    print("• Real-time weather data")
    print("• Weather forecasts")
    print("• Weather alerts")
    print("• Natural language processing")
    print("• Web interface")
    print("=" * 60)
    
    # Check environment variables
    openweather_key = os.getenv('OPENWEATHER_API_KEY')
    openai_key = os.getenv('OPENAI_API_KEY')
    
    if not openweather_key:
        print("āš ļø  Warning: OPENWEATHER_API_KEY not found in environment variables")
        print("   Get your free API key from: https://openweathermap.org/api")
        print("   Set it in your .env file or environment variables")
    else:
        print("āœ… OpenWeatherMap API key configured")
    
    if not openai_key:
        print("āš ļø  Warning: OPENAI_API_KEY not found (optional)")
        print("   Chatbot will work with keyword matching")
        print("   For enhanced NLP, get API key from: https://platform.openai.com/api-keys")
    else:
        print("āœ… OpenAI API key configured")
    
    print("=" * 60)
    
    # Get configuration
    host = os.getenv('HOST', '0.0.0.0')
    port = int(os.getenv('PORT', 5000))
    debug = os.getenv('FLASK_DEBUG', 'True').lower() == 'true'
    
    print(f"šŸš€ Starting Weather Chatbot on http://{host}:{port}")
    print("šŸ“± Web Interface: http://localhost:5000")
    print("šŸ”— API Endpoints:")
    print("   • GET  /health - Health check")
    print("   • POST /chat   - Chat interface")
    print("   • GET  /weather/<city> - Current weather")
    print("   • GET  /forecast/<city> - Weather forecast")
    print("   • GET  /alerts/<city> - Weather alerts")
    print("=" * 60)
    print("Press Ctrl+C to stop the server")
    print("=" * 60)
    
    try:
        # Start the Flask application
        app.run(host=host, port=port, debug=debug)
    except KeyboardInterrupt:
        print("\nšŸ‘‹ Weather Chatbot stopped by user")
        print("Ā© 2026 RSK World. All rights reserved.")
        sys.exit(0)
    except Exception as e:
        print(f"āŒ Error starting server: {e}")
        sys.exit(1)

if __name__ == '__main__':
    main()
93 lines•3.1 KB
python
chatbot.cpython-313.pyc

This file cannot be displayed in the browser.

Download File
docker-compose.yml
Raw Download
Find: Go to:
# Weather Chatbot Docker Compose Configuration
# ============================================
#
# Author: RSK World (https://rskworld.in)
# Founded by: Molla Samser
# Designer & Tester: Rima Khatun
# Contact: +91 93305 39277, hello@rskworld.in, support@rskworld.in
# Location: Nutanhat, Mongolkote, Purba Burdwan, West Bengal, India, 713147
# Year: 2026
#
# Description: Docker Compose configuration for Weather Chatbot with Redis and PostgreSQL

version: '3.8'

services:
  # Weather Chatbot Application
  web:
    build: .
    container_name: weather-chatbot
    restart: unless-stopped
    ports:
      - "5000:5000"
    environment:
      - FLASK_ENV=production
      - DATABASE_URL=postgresql://weatherbot:weatherbot123@db:5432/weather_chatbot
      - REDIS_URL=redis://redis:6379/0
    env_file:
      - .env
    volumes:
      - ./logs:/app/logs
      - ./static/uploads:/app/static/uploads
      - ./cache:/app/cache
      - ./sessions:/app/sessions
    depends_on:
      - db
      - redis
    networks:
      - weather-network

  # PostgreSQL Database
  db:
    image: postgres:15-alpine
    container_name: weather-chatbot-db
    restart: unless-stopped
    environment:
      - POSTGRES_DB=weather_chatbot
      - POSTGRES_USER=weatherbot
      - POSTGRES_PASSWORD=weatherbot123
    volumes:
      - postgres_data:/var/lib/postgresql/data
    networks:
      - weather-network
    ports:
      - "5432:5432"

  # Redis Cache
  redis:
    image: redis:7-alpine
    container_name: weather-chatbot-redis
    restart: unless-stopped
    command: redis-server --appendonly yes
    volumes:
      - redis_data:/data
    networks:
      - weather-network
    ports:
      - "6379:6379"

  # Nginx Reverse Proxy (Optional)
  nginx:
    image: nginx:alpine
    container_name: weather-chatbot-nginx
    restart: unless-stopped
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf:ro
      - ./ssl:/etc/nginx/ssl:ro
    depends_on:
      - web
    networks:
      - weather-network

volumes:
  postgres_data:
    driver: local
  redis_data:
    driver: local

networks:
  weather-network:
    driver: bridge
94 lines•2.2 KB
yaml
šŸš€ Support RSK World

Subscribe to our YouTube channel for latest tutorials & updates!



Click subscribe & support our work ā¤ļø

About RSK World

Founded by Molla Samser, with Designer & Tester Rima Khatun, RSK World is your one-stop destination for free programming resources, source code, and development tools.

Founder: Molla Samser
Designer & Tester: Rima Khatun

Development

  • Game Development
  • Web Development
  • Mobile Development
  • AI Development
  • Development Tools

Legal

  • Terms & Conditions
  • Privacy Policy
  • Disclaimer

Contact Info

Nutanhat, Mongolkote
Purba Burdwan, West Bengal
India, 713147

+91 93305 39277

hello@rskworld.in
support@rskworld.in

© 2026 RSK World. All rights reserved.

Content used for educational purposes only. View Disclaimer