- Add complete dark mode system with theme context and toggle - Implement dark mode toggle component in navigation menu - Add client-side routing with SSR-safe signal handling - Fix language selector styling for better dark mode compatibility - Add documentation system with mdBook integration - Improve navigation menu with proper external/internal link handling - Add comprehensive project documentation and configuration - Enhance theme system with localStorage persistence - Fix arena panic issues during server-side rendering - Add proper TypeScript configuration and build optimizations 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
9.1 KiB
Welcome to Rustelo
Rustelo is a modern, secure web application framework built with Rust that provides everything you need to create powerful web applications. Whether you're an end user looking to understand how to use a Rustelo application, or a developer wanting to build with the framework, this comprehensive guide has you covered.
What is Rustelo?
Rustelo combines the performance and safety of Rust with modern web development patterns to create a framework that is:
- 🚀 Fast - Built on Rust's zero-cost abstractions
- 🔒 Secure - Security-first design with built-in protections
- 📦 Modular - Choose only the features you need
- 🌐 Modern - Reactive frontend with server-side rendering
- 🔧 Developer-Friendly - Excellent tooling and documentation
Two Guides in One
This documentation serves two distinct audiences:
📚 For End Users
If you're using a Rustelo application (blog, CMS, web portal, etc.), the "For End Users" sections will teach you:
- How to navigate and use the interface
- How to create and manage content
- How to customize your profile and settings
- How to use security features like 2FA
- How to troubleshoot common issues
🔧 For Developers
If you're building applications with Rustelo or contributing to the framework, the "For Developers" sections cover:
- Setting up your development environment
- Understanding the architecture and design patterns
- Adding new features and functionality
- Testing strategies and best practices
- Deployment and production considerations
Key Technologies
Rustelo is built on a modern technology stack:
Frontend
- Leptos - Reactive web framework with SSR and hydration
- Tailwind CSS - Utility-first styling
- DaisyUI - Beautiful component library
- WebAssembly - High-performance client-side code
Backend
- Axum - Ergonomic async web framework
- Tokio - Async runtime for high concurrency
- SQLx - Compile-time checked SQL queries
- Serde - Powerful serialization framework
Database Support
- PostgreSQL - Full-featured production database
- SQLite - Lightweight development and small-scale deployment
- Automatic detection - Works with both seamlessly
Core Features
🔐 Authentication & Security
- JWT-based authentication with secure token handling
- OAuth2 integration for Google, GitHub, and other providers
- Two-factor authentication (2FA) with TOTP support
- Role-based access control for fine-grained permissions
- CSRF protection and security headers built-in
📝 Content Management
- Rich text editor with markdown support
- Media management for images, videos, and documents
- Content organization with categories and tags
- SEO optimization with meta tags and structured data
- Version control and draft/publish workflows
📧 Communication
- Email system with multiple provider support (SMTP, SendGrid, AWS SES)
- Template-based emails with HTML and text versions
- Notification system for user alerts and updates
- Contact forms with spam protection
- Real-time messaging capabilities
🛡️ Enterprise Security
- HTTPS/TLS encryption for all communications
- Rate limiting to prevent abuse
- Input validation and sanitization
- Audit logging for compliance
- Data encryption at rest and in transit
Use Cases
For Content Creators
Perfect for bloggers, writers, and content teams who need:
- Professional publishing platform
- Rich content editing capabilities
- SEO and analytics tools
- User engagement features
For Businesses
Ideal for companies that need:
- Customer portals and dashboards
- Content management systems
- User authentication and profiles
- Secure document sharing
For Developers
Excellent for teams building:
- SaaS applications
- E-commerce platforms
- Social applications
- API services
- Custom web applications
For Educational Institutions
Great for schools and universities needing:
- Student/faculty portals
- Course management systems
- Research collaboration tools
- Secure communication platforms
Getting Started
🚀 For End Users
If you're new to using Rustelo applications:
- What is Rustelo? - Learn the basics
- User Interface Guide - Navigate the interface
- Authentication - Set up your account
- Content Publishing - Create your first content
🔧 For Developers
If you're building with Rustelo:
- Development Environment - Set up your tools
- Project Structure - Understand the codebase
- System Overview - Learn the architecture
- Adding Features - Build functionality
⚙️ For System Administrators
If you're deploying and managing Rustelo:
- Installation - Install and configure
- Configuration - Environment setup
- Production Deployment - Go live securely
- Monitoring - Keep it running smoothly
Why Choose Rustelo?
Performance
- Blazing fast - Rust's performance with modern web optimizations
- Low memory usage - Efficient resource utilization
- Concurrent - Handle thousands of users simultaneously
- Scalable - Grows with your needs
Security
- Memory safe - Rust prevents entire classes of vulnerabilities
- Security by default - Best practices built into the framework
- Regular updates - Active security maintenance
- Compliance ready - Meet industry standards
Developer Experience
- Type safety - Catch errors at compile time
- Excellent tooling - Rich ecosystem and development tools
- Hot reloading - Fast development iteration
- Clear documentation - Comprehensive guides and examples
Production Ready
- Battle tested - Used in production by growing companies
- Reliable - Robust error handling and recovery
- Observable - Built-in metrics, logging, and monitoring
- Maintainable - Clean architecture and code organization
Community and Support
Getting Help
- 📖 Documentation - Comprehensive guides for all skill levels
- 💬 Community Forum - Connect with other users and developers
- 🐛 Issue Tracker - Report bugs and request features
- 📧 Professional Support - Available for enterprise customers
Contributing
- 🔧 Code Contributions - Help improve the framework
- 📝 Documentation - Improve guides and tutorials
- 🧪 Testing - Help ensure quality and reliability
- 🌍 Translation - Make Rustelo accessible worldwide
Resources
- GitHub Repository - Source code and development
- API Documentation - Generated API reference
- Example Applications - Real-world examples
- Blog - Updates and tutorials
System Requirements
Minimum Requirements
- CPU: 2 cores, 2.0 GHz
- RAM: 4 GB
- Storage: 20 GB available space
- OS: Linux, macOS, or Windows
- Database: SQLite (included) or PostgreSQL
Recommended for Production
- CPU: 4+ cores, 3.0+ GHz
- RAM: 8+ GB
- Storage: 100+ GB SSD
- OS: Linux (Ubuntu 20.04+ or CentOS 8+)
- Database: PostgreSQL 13+
- Reverse Proxy: Nginx or Apache
What's in This Guide
This documentation is organized into clear sections:
Essential Information
- Getting Started - Installation, setup, and first steps
- For End Users - Using Rustelo applications effectively
- For Developers - Building and extending Rustelo applications
Technical References
- Configuration - Environment and system configuration
- API Reference - Complete API documentation
- Security - Security features and best practices
- Performance - Optimization and scaling guidance
Support Resources
- Troubleshooting - Solutions to common issues
- Contributing - How to participate in development
- Reference - Quick lookup for configurations and commands
Quick Navigation
New Users? Start with What is Rustelo?
Want to try it? Go to Installation
Ready to develop? Begin with Development Setup
Need help? Check Troubleshooting
Welcome to the Rustelo community! Whether you're here to use, build, or contribute, we're excited to have you join us in creating the future of web applications with Rust. 🦀✨