ShowMySites - Web Directory Platform
Overview
ShowMySites is a modern web platform developed with Django that allows users to create, manage, and discover websites. The project combines a web directory system with advanced user profile management features, backlink verification, and REST API capabilities.
Technical Architecture
Backend
- Main Framework: Django with MVT (Model-View-Template) architecture
- Database: SQLite in development, PostgreSQL in production
- Authentication: django-allauth with Google OAuth support
- REST API: Django REST Framework with token authentication
- Asynchronous Processing: Celery with Redis for background tasks
Frontend
- CSS Framework: Tailwind CSS with django-tailwind
- User Interface: Django templates with component system
- Image Optimization: Automatic WebP format conversion
- Responsive Design: Adaptive interface for all devices
Core Features
Website Management
- Creation and Editing: Complete interface for adding/modifying websites
- Categorization: 15 predefined categories (SaaS, Blog, E-commerce, etc.)
- Rich Metadata: Logo, description, tagline, social links
- Coupon System: Promo code management with expiration dates
- Premium Status: Featured sites and founder's choice
User Profile System
- Custom Profiles: Avatars, biographies, social links
- Custom URLs: Unique slug system for each profile
- Social Authentication: Google OAuth login
- Account Management: Settings, deletion, username selection
Automatic Backlink Verification
- Continuous Monitoring: Scheduled Celery tasks daily
- Intelligent Parsing: HTML analysis with BeautifulSoup
- Nofollow Detection: Filtering of non-followed links
- Error Handling: Automatic timeouts and retries
- Detailed Logging: Complete verification tracking
Advanced Features
Search System
- Real-time Suggestions: AJAX API for autocomplete
- Category Search: Dynamic filtering
- Username Verification: Real-time availability checking
Administration
- Admin Dashboard: Detailed statistics
- Inactive Site Management: Moderation and deletion
- Backlink System: Tracking and validation
- Leaderboard: Popular site rankings
Technical Optimizations
- Cloud Storage: MinIO/S3 integration for media
- Redis Cache: Performance improvement
- Asset Compression: WhiteNoise for static files
- HTTPS Security: Complete production configuration
- Colored Logs: Advanced logging system with colorlog
Deployment Infrastructure
Environments
- Development: Local configuration with SQLite
- Production: Docker with Gunicorn and Nginx
- Environment Variables: Secure secret management
Monitoring and Maintenance
- Scheduled Tasks: Daily backlink verification
- Error Handling: Custom error pages
- Automatic Backup: Database backup
Technologies Used
- Backend: Django, Celery, Redis, PostgreSQL
- Frontend: Tailwind CSS, HTML5, JavaScript
- API: Django REST Framework
- Storage: MinIO/S3, WhiteNoise
- Authentication: django-allauth, Google OAuth
- Parsing: BeautifulSoup, Requests
- Images: Pillow (PIL)
- Deployment: Docker, Gunicorn
Project Strengths
- Modular Architecture: Clear separation of responsibilities
- Scalability: Multi-environment support
- Security: Robust authentication and data validation
- Performance: Redis cache and image optimization
- Maintainability: Well-structured code with detailed logging
- Modern UX: Responsive and intuitive interface
This project demonstrates complete mastery of modern web development, combining robust backend, modern frontend, and scalable infrastructure to create a high-performance and evolutive web directory platform.