Rustelo/book/introduction.md
Jesús Pérex 2f0f807331 feat: add dark mode functionality and improve navigation system
- 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>
2025-07-11 20:53:20 +01:00

9.1 KiB

RUSTELO

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:

  1. What is Rustelo? - Learn the basics
  2. User Interface Guide - Navigate the interface
  3. Authentication - Set up your account
  4. Content Publishing - Create your first content

🔧 For Developers

If you're building with Rustelo:

  1. Development Environment - Set up your tools
  2. Project Structure - Understand the codebase
  3. System Overview - Learn the architecture
  4. Adding Features - Build functionality

⚙️ For System Administrators

If you're deploying and managing Rustelo:

  1. Installation - Install and configure
  2. Configuration - Environment setup
  3. Production Deployment - Go live securely
  4. 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

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
  • 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. 🦀