- 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>
244 lines
9.1 KiB
Markdown
244 lines
9.1 KiB
Markdown
<div align="center">
|
|
<img src="../logos/rustelo_dev-logo-h.svg" alt="RUSTELO" width="400" />
|
|
</div>
|
|
|
|
# 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](https://leptos.dev/)** - Reactive web framework with SSR and hydration
|
|
- **[Tailwind CSS](https://tailwindcss.com/)** - Utility-first styling
|
|
- **[DaisyUI](https://daisyui.com/)** - Beautiful component library
|
|
- **WebAssembly** - High-performance client-side code
|
|
|
|
### Backend
|
|
- **[Axum](https://github.com/tokio-rs/axum)** - Ergonomic async web framework
|
|
- **[Tokio](https://tokio.rs/)** - Async runtime for high concurrency
|
|
- **[SQLx](https://github.com/launchbadge/sqlx)** - Compile-time checked SQL queries
|
|
- **[Serde](https://serde.rs/)** - 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?](./getting-started/what-is-rustelo.md)** - Learn the basics
|
|
2. **[User Interface Guide](./users/interface.md)** - Navigate the interface
|
|
3. **[Authentication](./users/authentication.md)** - Set up your account
|
|
4. **[Content Publishing](./users/content.md)** - Create your first content
|
|
|
|
### 🔧 For Developers
|
|
If you're building with Rustelo:
|
|
|
|
1. **[Development Environment](./developers/setup/environment.md)** - Set up your tools
|
|
2. **[Project Structure](./developers/setup/structure.md)** - Understand the codebase
|
|
3. **[System Overview](./developers/architecture/overview.md)** - Learn the architecture
|
|
4. **[Adding Features](./developers/features/adding-features.md)** - Build functionality
|
|
|
|
### ⚙️ For System Administrators
|
|
If you're deploying and managing Rustelo:
|
|
|
|
1. **[Installation](./getting-started/installation.md)** - Install and configure
|
|
2. **[Configuration](./configuration/environment.md)** - Environment setup
|
|
3. **[Production Deployment](./deployment/production.md)** - Go live securely
|
|
4. **[Monitoring](./deployment/monitoring.md)** - 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](https://github.com/rustelo/rustelo)** - Source code and development
|
|
- **[API Documentation](https://docs.rs/rustelo)** - Generated API reference
|
|
- **[Example Applications](https://github.com/rustelo/examples)** - Real-world examples
|
|
- **[Blog](https://rustelo.dev/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?](./getting-started/what-is-rustelo.md)
|
|
|
|
**Want to try it?** Go to [Installation](./getting-started/installation.md)
|
|
|
|
**Ready to develop?** Begin with [Development Setup](./developers/setup/environment.md)
|
|
|
|
**Need help?** Check [Troubleshooting](./troubleshooting/common.md)
|
|
|
|
---
|
|
|
|
*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.* 🦀✨ |