chore: full update README
Some checks failed
CI/CD Pipeline / Test Suite (push) Has been cancelled
CI/CD Pipeline / Security Audit (push) Has been cancelled
CI/CD Pipeline / Build Docker Image (push) Has been cancelled
CI/CD Pipeline / Deploy to Staging (push) Has been cancelled
CI/CD Pipeline / Deploy to Production (push) Has been cancelled
CI/CD Pipeline / Performance Benchmarks (push) Has been cancelled
CI/CD Pipeline / Cleanup (push) Has been cancelled

This commit is contained in:
Jesús Pérex 2025-07-07 23:39:59 +01:00
parent 515c9343f4
commit b7909d8fb5
Signed by: jesus
GPG Key ID: 9F243E355E0BC939

273
README.md
View File

@ -2,7 +2,278 @@
<img src="logos/rustelo_dev-logo-h.svg" alt="RUSTELO" width="450" />
</div>
A flexible, feature-rich Rust web application template built with Leptos, Axum, and optional components that you can enable or disable based on your needs.
A unified, modern, and secure **Rust** platform to build, deploy, and deliver scalable, high-performance, and reactive web applications with integrated content management, user authentication, multilingual UI, email services, CI/CD pipelines, and comprehensive tooling from development to production.
<div align="center">
<img src="logos/rustelo-imag.svg" alt="RUSTELO" width="250" />
</div>
>[!NOTE]
> A comprehensive **Rust** solution <br>
> combining reactive **WebAssembly** frontends (**Leptos**) with secure native backends (**Axum**),<br>
> featuring database abstraction (**PostgreSQL/SQLite**), modular configuration, **i18n** support, **RBAC**, <br>
> content management, email services, metrics, automated **CI/CD** pipelines, **Docker** deployment,<br>
> and integrated documentation that scales from 2MB static sites to enterprise applications.
<!-- toc -->
- [🎯 **Core Platform Features**](#%F0%9F%8E%AF-core-platform-features)
- [🚀 Quick Start](#%F0%9F%9A%80-quick-start)
* [Option 1: One-Command Setup (Recommended)](#option-1-one-command-setup-recommended)
* [Option 2: Interactive Configuration](#option-2-interactive-configuration)
* [Option 3: Manual Setup](#option-3-manual-setup)
- [📦 Optional Features](#%F0%9F%93%A6-optional-features)
* [🔒 TLS (`tls`)](#%F0%9F%94%92-tls-tls)
* [🔐 Authentication (`auth`) - *Default*](#%F0%9F%94%90-authentication-auth---default)
* [📄 Database Content (`content-db`) - *Default*](#%F0%9F%93%84-database-content-content-db---default)
* [📧 Email System (`email`) - *Default*](#%F0%9F%93%A7-email-system-email---default)
- [🛠️ Common Configurations](#%F0%9F%9B%A0%EF%B8%8F-common-configurations)
- [🗄️ Database Support](#%F0%9F%97%84%EF%B8%8F-database-support)
- [🔧 Environment Configuration](#%F0%9F%94%A7-environment-configuration)
- [🏗️ Project Structure](#%F0%9F%8F%97%EF%B8%8F-project-structure)
- [📚 API Endpoints](#%F0%9F%93%9A-api-endpoints)
- [🚀 Development](#%F0%9F%9A%80-development)
- [🐳 Docker Deployment](#%F0%9F%90%B3-docker-deployment)
- [🔒 Security Features](#%F0%9F%94%92-security-features)
- [📖 Documentation](#%F0%9F%93%96-documentation)
- [🧪 Testing](#%F0%9F%A7%AA-testing)
- [📊 Performance Considerations](#%F0%9F%93%8A-performance-considerations)
- [🤝 Contributing](#%F0%9F%A4%9D-contributing)
- [📄 License](#%F0%9F%93%84-license)
- [🆘 Support](#%F0%9F%86%98-support)
- [🎯 Use Cases](#%F0%9F%8E%AF-use-cases)
- [🔄 Migration Guide](#%F0%9F%94%84-migration-guide)
- [🌟 What's Next?](#%F0%9F%8C%9F-whats-next)
- [📚 Documentation System](#%F0%9F%93%9A-documentation-system)
<!-- tocstop -->
<details>
<summary> 🚀 **RUSTELO - Complete Feature Matrix** </summary>
## 🎯 **Core Platform Features**
### **🔧 Development Experience**
- **WebAssembly Frontend** - Rust code compiled to WASM for performance
- **Reactive UI System** - Fine-grained reactivity with Leptos
- **Hot Reload Development** - Live code changes without restart
- **Unified Type System** - Shared types between client and server
- **Component-Based Architecture** - Reusable UI components
- **Just Task Runner** - Simple command execution (`just dev`, `just build`)
### **🏗️ Architecture & Framework**
- **Leptos Frontend** - Modern reactive web framework
- **Axum Backend** - High-performance async web server
- **Modular Features** - Enable/disable components as needed
- **Database Abstraction** - Works with PostgreSQL and SQLite
- **Memory-Safe by Design** - Rust's safety guarantees
- **Single Binary Deployment** - Self-contained executables from 2MB
## 🔐 **Security Features**
### **Authentication & Authorization**
- **JWT Token Authentication** - Secure token-based auth
- **OAuth2 Integration** - Google, GitHub, and custom providers
- **Two-Factor Authentication (2FA)** - TOTP with QR codes
- **Password Security** - Argon2 hashing, complexity requirements
- **Session Management** - Secure session handling
- **Role-Based Access Control (RBAC)** - Fine-grained permissions
- **Account Security** - Lockout protection, rate limiting
### **Network & Data Security**
- **TLS/HTTPS Support** - SSL certificate management
- **CSRF Protection** - Cross-site request forgery prevention
- **Security Headers** - HSTS, CSP, and other security headers
- **Input Validation** - Comprehensive input sanitization
- **SQL Injection Prevention** - Safe database queries
- **Data Encryption** - AES-GCM encryption for sensitive data
- **Audit Logging** - Security event tracking
## 📊 **Content Management**
### **Content Creation & Management**
- **Markdown Support** - Rich text with syntax highlighting
- **YAML Frontmatter** - Structured metadata
- **Media Management** - Image and video uploads
- **Content Versioning** - Track content changes
- **Draft Mode** - Preview before publishing
- **Scheduled Publishing** - Automated content release
- **Content Caching** - Performance optimization
- **Search & Discovery** - Full-text search capabilities
### **Template & Theming**
- **Template Engine** - Handlebars templates
- **Theme System** - Customizable appearance
- **Responsive Design** - Mobile-first approach
- **Component Library** - Pre-built UI components
- **Custom CSS** - Tailwind CSS integration
- **Multi-language Support** - i18n localization
## 📧 **Communication Features**
### **Email System**
- **Multi-Provider Support** - SMTP, SendGrid, Console
- **Email Templates** - HTML and text templates
- **Queue Management** - Reliable email delivery
- **Contact Forms** - Built-in form handling
- **Notifications** - System and user notifications
- **Email Validation** - Address verification
- **Rate Limiting** - Prevent spam and abuse
### **User Management**
- **User Registration** - Account creation workflow
- **Profile Management** - User settings and preferences
- **Password Reset** - Secure password recovery
- **Email Verification** - Account activation
- **User Roles** - Admin, moderator, user hierarchies
- **Private Content** - User-specific content access
## 📈 **Monitoring & Analytics**
### **Metrics & Monitoring**
- **Prometheus Integration** - Industry-standard metrics
- **System Metrics** - CPU, memory, disk usage
- **Application Metrics** - Request rates, response times
- **Database Metrics** - Query performance tracking
- **Custom Metrics** - Business-specific measurements
- **Health Checks** - System health monitoring
- **Performance Profiling** - Code performance analysis
### **Logging & Debugging**
- **Structured Logging** - JSON formatted logs
- **Log Levels** - Configurable verbosity
- **Error Tracking** - Comprehensive error reporting
- **Debug Mode** - Enhanced development logging
- **Audit Trails** - User action tracking
## 🗄️ **Database Features**
### **Database Support**
- **PostgreSQL** - Full-featured production database
- **SQLite** - Lightweight development database
- **Database Migrations** - Schema versioning
- **Query Optimization** - Performance tuning
- **Connection Pooling** - Efficient resource usage
- **Backup & Recovery** - Data protection
### **Caching System**
- **Multi-Level Caching** - Memory, Redis, file-based
- **Cache Invalidation** - Smart cache management
- **Performance Optimization** - Reduced database load
- **Cache Metrics** - Hit/miss ratio tracking
## 🚀 **DevOps & Deployment**
### **CI/CD Pipeline**
- **GitHub Actions** - Automated testing and deployment
- **Docker Support** - Containerized deployment
- **Multi-Environment** - Dev, staging, production configs
- **Automated Testing** - Unit, integration, E2E tests
- **Security Scanning** - Vulnerability detection
- **Performance Testing** - Load and stress testing
### **Deployment Options**
- **Cloud Platforms** - AWS, GCP, Azure support
- **GitHub Pages** - Static site deployment
- **Docker Containers** - Container orchestration
- **Traditional Servers** - VPS and dedicated servers
- **Kubernetes** - Container orchestration
- **CDN Integration** - Content delivery networks
## 🛠️ **Development Tools**
### **Documentation System**
- **mdBook Integration** - Interactive documentation
- **Auto-Generated Docs** - API documentation
- **Multi-Format Export** - PDF, HTML, mobile
- **Search Functionality** - Full-text documentation search
- **Version Control** - Documentation versioning
- **Deployment Automation** - Auto-publish documentation
### **Configuration Management**
- **Environment Variables** - Flexible configuration
- **TOML Configuration** - Structured config files
- **Feature Flags** - Runtime feature control
- **Environment-Specific** - Dev, staging, prod settings
- **Configuration Validation** - Error prevention
- **Migration Tools** - Config upgrade assistance
### **Build & Tooling**
- **Cargo Integration** - Rust package management
- **Asset Pipeline** - CSS, JS, image optimization
- **Code Generation** - Automated code scaffolding
- **Lint & Format** - Code quality enforcement
- **Dependency Management** - Automated updates
- **Binary Optimization** - Size and performance optimization
## 🌐 **Platform Integration**
### **API & Services**
- **REST API** - Full-featured web API
- **GraphQL Support** - Advanced query capabilities
- **WebSocket Support** - Real-time communication
- **Rate Limiting** - API abuse prevention
- **API Versioning** - Backward compatibility
- **OpenAPI/Swagger** - API documentation
### **Third-Party Integration**
- **OAuth Providers** - Social login integration
- **Payment Gateways** - E-commerce support
- **Analytics Services** - Google Analytics, etc.
- **CDN Services** - Content delivery
- **Monitoring Services** - External monitoring
- **Backup Services** - Cloud backup integration
## 📱 **User Experience**
### **Interface & Interaction**
- **Responsive Design** - Mobile-first approach
- **Progressive Web App** - Offline capability
- **Accessibility** - WCAG compliance
- **Dark/Light Mode** - User preference themes
- **Keyboard Navigation** - Full keyboard support
- **Touch Gestures** - Mobile-friendly interactions
### **Performance Features**
- **Code Splitting** - Optimized loading
- **Lazy Loading** - On-demand resource loading
- **Service Workers** - Offline functionality
- **Image Optimization** - Automatic compression
- **Bundle Analysis** - Performance monitoring
- **Memory Management** - Efficient resource usage
## 🔧 **System Features**
### **Infrastructure**
- **Load Balancing** - Traffic distribution
- **Auto-Scaling** - Dynamic resource allocation
- **Backup Systems** - Data protection
- **Disaster Recovery** - Business continuity
- **Monitoring Alerts** - Proactive notifications
- **Log Aggregation** - Centralized logging
### **Security Infrastructure**
- **Firewall Integration** - Network security
- **VPN Support** - Secure remote access
- **SSL Certificate Management** - Automated renewals
- **Security Scanning** - Vulnerability assessments
- **Compliance Tools** - GDPR, CCPA compliance
- **Penetration Testing** - Security validation
---
## 🎯 **Total Feature Count: 100+ Features**
Rustelo provides a comprehensive ecosystem with over 100 features across:
- **25+ Security Features**
- **20+ Content Management Features**
- **15+ DevOps & Deployment Features**
- **15+ Database & Caching Features**
- **10+ Communication Features**
- **10+ Monitoring & Analytics Features**
- **15+ Development Tools**
- **Plus many more...**
**This makes Rustelo a complete platform for building modern web applications with enterprise-grade features out of the box! 🚀
</details>
## 🚀 Quick Start