A Django-powered blog showcasing insights in technology, cybersecurity, and software development. Built with Python and Django, featuring Azure cloud integration and robust security measures.
- Dynamic Content Management: Built-in Django admin interface for content creation
- Cloud Storage Integration: Azure Blob Storage for media and static files
- Production-Ready: Configured for production with security best practices
- PostgreSQL Database: Robust data storage with PostgreSQL
- Secure Authentication: Comprehensive password validation and security middleware
- Logging System: Detailed debug logging for monitoring and troubleshooting
- Django 4.x
- Python 3.11
- WSGI Application Server
- PostgreSQL with psycopg2-binary driver
- Environment-based configuration
- Azure Web Apps for hosting
- Azure Blob Storage for static/media files
- Azure Managed Identity authentication
- Azure PostgreSQL database
- Whitenoise
- PostgresSQL (Azure flexible)
Debug logging configured for production monitoring:
- File handler
- Console handler
- App-level logging - Default DEBUG
- CSRF Protection: Configured for production domains
- Secure Middleware Stack:
- Security Middleware
- WhiteNoise for static files
- Session Management
- CSRF Protection
- Authentication
- XFrame Options
The application uses GitHub Actions for CI/CD to Azure Web Apps. The deployment process includes:
- Automated testing
- Static file collection
- Database migrations
- Zero-downtime deployment
- Azure Blob Storage configuration
- Secure environment variable management
For more details, see the deployment workflow in .github/workflows/main_deveric-blog.yml
.
- Website: developer.ericgitangu.com
- LinkedIn: Eric Gitangu
- Azure Blog: deveric-blog.azurewebsites.net
This project is licensed under the MIT License.