Base code

This commit is contained in:
Kunthawat Greethong
2026-01-08 22:39:53 +07:00
parent 697115c61a
commit c35fa52117
2169 changed files with 626670 additions and 0 deletions

View File

@@ -0,0 +1,340 @@
# Troubleshooting Guide
This guide helps you resolve common issues with ALwrity. If you don't find your issue here, please check our [GitHub Issues](https://github.com/AJaySi/ALwrity/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**:
```bash
python --version
# Should be 3.10 or higher
```
2. **Verify Dependencies**:
```bash
cd backend
pip install -r requirements.txt
```
3. **Check Port Availability**:
```bash
# Check if port 8000 is in use
netstat -an | findstr :8000
```
4. **Environment Variables**:
```bash
# 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**:
```bash
# Ensure database file exists
ls -la backend/alwrity.db
```
2. **Reset Database**:
```bash
cd backend
rm alwrity.db
python -c "from services.database import initialize_database; initialize_database()"
```
3. **Check Permissions**:
```bash
# Ensure write permissions
chmod 664 backend/alwrity.db
```
#### API Key Issues
**Symptoms**: 401/403 errors, "Invalid API key" messages
**Solutions**:
1. **Verify API Keys**:
```bash
# Check .env file
cat backend/.env | grep API_KEY
```
2. **Test API Keys**:
```bash
# Test Gemini API
curl -H "Authorization: Bearer $GEMINI_API_KEY" \
https://generativelanguage.googleapis.com/v1/models
```
3. **Check Key Format**:
- Gemini: Should start with `AIza...`
- OpenAI: Should start with `sk-...`
- Anthropic: Should start with `sk-ant-...`
### Frontend Issues
#### Build Failures
**Symptoms**: `npm start` fails or build errors
**Solutions**:
1. **Clear Cache**:
```bash
cd frontend
npm cache clean --force
rm -rf node_modules package-lock.json
npm install
```
2. **Check Node Version**:
```bash
node --version
# Should be 18 or higher
```
3. **Environment Variables**:
```bash
# 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**:
```bash
curl http://localhost:8000/health
```
2. **Verify CORS Settings**:
```python
# In backend/app.py
app.add_middleware(
CORSMiddleware,
allow_origins=["http://localhost:3000"],
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
```
3. **Check Firewall**:
```bash
# 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**:
```bash
# Test SEO endpoint
curl -X POST http://localhost:8000/api/blog-writer/seo/analyze \
-H "Content-Type: application/json" \
-d '{"content": "test content"}'
```
2. **Verify Request Format**:
```javascript
// Ensure proper request structure
const requestData = {
content: blogContent,
researchData: researchData,
user_id: userId
};
```
3. **Check Backend Logs**:
```bash
# 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
2. **Test API Connectivity**:
```bash
# 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
```
3. **Check Request Size**:
- Ensure content isn't too long
- Break large requests into smaller chunks
### Authentication Issues
#### Clerk Authentication Problems
**Symptoms**: Login failures, authentication errors
**Solutions**:
1. **Verify Clerk Keys**:
```bash
# Check frontend .env
REACT_APP_CLERK_PUBLISHABLE_KEY=pk_test_...
```
2. **Check Clerk Dashboard**:
- Verify domain configuration
- Check user permissions
- Review authentication settings
3. **Clear Browser Cache**:
```bash
# Clear localStorage and cookies
```
### Performance Issues
#### Slow Content Generation
**Symptoms**: Long response times, timeouts
**Solutions**:
1. **Check API Response Times**:
```bash
# Monitor API performance
curl -w "@curl-format.txt" -o /dev/null -s http://localhost:8000/api/blog-writer
```
2. **Optimize Request Size**:
- Reduce content length
- Use streaming for large responses
- Implement caching
3. **Check System Resources**:
```bash
# Monitor CPU and memory usage
top
```
#### Database Performance
**Symptoms**: Slow database queries, high response times
**Solutions**:
1. **Optimize Queries**:
```python
# Add database indexes
# Use connection pooling
# Implement query caching
```
2. **Check Database Size**:
```bash
# Monitor database file size
ls -lh backend/alwrity.db
```
## Debugging Tools
### Backend Debugging
```python
# Enable debug logging
import logging
logging.basicConfig(level=logging.DEBUG)
# Add debug prints
print(f"Debug: {variable_name}")
```
### Frontend Debugging
```javascript
// Enable React DevTools
// Add console.log statements
console.log('Debug:', data);
// Use React Developer Tools
// Check Network tab for API calls
```
### API Testing
```bash
# 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
```bash
# Check backend console output
# Look for error messages
# Monitor API response times
```
### Frontend Logs
```bash
# Check browser console
# Monitor network requests
# Review error messages
```
### Database Logs
```bash
# 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](https://github.com/AJaySi/ALwrity/issues)
- **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](https://github.com/AJaySi/ALwrity/issues) or create a new one with detailed information about your problem.*