Skip to content

Troubleshooting Guide

This guide helps you resolve common issues with ALwrity. If you don't find your issue here, please check our GitHub Issues or create a new one.

Common Issues

Backend Issues

Server Won't Start

Symptoms: Backend server fails to start or crashes immediately

Solutions: 1. Check Python Version:

python --version
# Should be 3.10 or higher

  1. Verify Dependencies:

    cd backend
    pip install -r requirements.txt
    

  2. Check Port Availability:

    # Check if port 8000 is in use
    netstat -an | findstr :8000
    

  3. Environment Variables:

    # Ensure .env file exists with required keys
    GEMINI_API_KEY=your_key_here
    OPENAI_API_KEY=your_key_here
    

Database Connection Errors

Symptoms: Database connection failures or SQL errors

Solutions: 1. Check Database File:

# Ensure database file exists
ls -la backend/alwrity.db

  1. Reset Database:

    cd backend
    rm alwrity.db
    python -c "from services.database import initialize_database; initialize_database()"
    

  2. Check Permissions:

    # Ensure write permissions
    chmod 664 backend/alwrity.db
    

API Key Issues

Symptoms: 401/403 errors, "Invalid API key" messages

Solutions: 1. Verify API Keys:

# Check .env file
cat backend/.env | grep API_KEY

  1. Test API Keys:

    # Test Gemini API
    curl -H "Authorization: Bearer $GEMINI_API_KEY" \
         https://generativelanguage.googleapis.com/v1/models
    

  2. Check Key Format:

  3. Gemini: Should start with AIza...
  4. OpenAI: Should start with sk-...
  5. Anthropic: Should start with sk-ant-...

Frontend Issues

Build Failures

Symptoms: npm start fails or build errors

Solutions: 1. Clear Cache:

cd frontend
npm cache clean --force
rm -rf node_modules package-lock.json
npm install

  1. Check Node Version:

    node --version
    # Should be 18 or higher
    

  2. Environment Variables:

    # Check frontend .env file
    REACT_APP_API_URL=http://localhost:8000
    REACT_APP_CLERK_PUBLISHABLE_KEY=your_key
    

Connection Issues

Symptoms: Frontend can't connect to backend, CORS errors

Solutions: 1. Check Backend Status:

curl http://localhost:8000/health

  1. Verify CORS Settings:

    # In backend/app.py
    app.add_middleware(
        CORSMiddleware,
        allow_origins=["http://localhost:3000"],
        allow_credentials=True,
        allow_methods=["*"],
        allow_headers=["*"],
    )
    

  2. Check Firewall:

    # Windows
    netsh advfirewall firewall show rule name="Python"
    

Content Generation Issues

SEO Analysis Not Working

Symptoms: SEO analysis fails or returns 422 errors

Solutions: 1. Check API Endpoints:

# Test SEO endpoint
curl -X POST http://localhost:8000/api/blog-writer/seo/analyze \
     -H "Content-Type: application/json" \
     -d '{"content": "test content"}'

  1. Verify Request Format:

    // Ensure proper request structure
    const requestData = {
      content: blogContent,
      researchData: researchData,
      user_id: userId
    };
    

  2. Check Backend Logs:

    # Look for error messages in backend console
    

Content Generation Failures

Symptoms: AI content generation fails or returns errors

Solutions: 1. Check API Quotas: - Verify API key has sufficient credits - Check rate limits and usage

  1. Test API Connectivity:

    # Test Gemini API
    curl -X POST \
      -H "Authorization: Bearer $GEMINI_API_KEY" \
      -H "Content-Type: application/json" \
      https://generativelanguage.googleapis.com/v1/models/gemini-pro:generateContent
    

  2. Check Request Size:

  3. Ensure content isn't too long
  4. Break large requests into smaller chunks

Authentication Issues

Clerk Authentication Problems

Symptoms: Login failures, authentication errors

Solutions: 1. Verify Clerk Keys:

# Check frontend .env
REACT_APP_CLERK_PUBLISHABLE_KEY=pk_test_...

  1. Check Clerk Dashboard:
  2. Verify domain configuration
  3. Check user permissions
  4. Review authentication settings

  5. Clear Browser Cache:

    # Clear localStorage and cookies
    

Performance Issues

Slow Content Generation

Symptoms: Long response times, timeouts

Solutions: 1. Check API Response Times:

# Monitor API performance
curl -w "@curl-format.txt" -o /dev/null -s http://localhost:8000/api/blog-writer

  1. Optimize Request Size:
  2. Reduce content length
  3. Use streaming for large responses
  4. Implement caching

  5. Check System Resources:

    # Monitor CPU and memory usage
    top
    

Database Performance

Symptoms: Slow database queries, high response times

Solutions: 1. Optimize Queries:

# Add database indexes
# Use connection pooling
# Implement query caching

  1. Check Database Size:
    # Monitor database file size
    ls -lh backend/alwrity.db
    

Debugging Tools

Backend Debugging

# Enable debug logging
import logging
logging.basicConfig(level=logging.DEBUG)

# Add debug prints
print(f"Debug: {variable_name}")

Frontend Debugging

// Enable React DevTools
// Add console.log statements
console.log('Debug:', data);

// Use React Developer Tools
// Check Network tab for API calls

API Testing

# Test API endpoints
curl -X GET http://localhost:8000/health
curl -X POST http://localhost:8000/api/blog-writer \
     -H "Content-Type: application/json" \
     -d '{"topic": "test"}'

Log Analysis

Backend Logs

# Check backend console output
# Look for error messages
# Monitor API response times

Frontend Logs

# Check browser console
# Monitor network requests
# Review error messages

Database Logs

# Check database queries
# Monitor connection issues
# Review performance metrics

Getting Help

Self-Service Resources

  1. Documentation: Check relevant guides
  2. GitHub Issues: Search existing issues
  3. Community: Join discussions
  4. FAQ: Common questions and answers

Reporting Issues

When reporting issues, include: 1. Error Messages: Complete error text 2. Steps to Reproduce: Detailed steps 3. Environment: OS, Python version, Node version 4. Logs: Relevant log entries 5. Screenshots: Visual error evidence

Contact Information

  • GitHub Issues: Create an issue
  • Documentation: Browse guides and API reference
  • Community: Join developer discussions

Prevention Tips

Regular Maintenance

  1. Update Dependencies: Keep packages current
  2. Monitor Performance: Regular performance checks
  3. Backup Data: Regular database backups
  4. Security Updates: Keep system secure

Best Practices

  1. Environment Management: Use virtual environments
  2. Configuration Management: Proper .env files
  3. Error Handling: Implement proper error handling
  4. Monitoring: Set up performance monitoring

Still having issues? Check our GitHub Issues or create a new one with detailed information about your problem.