- 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>
300 lines
10 KiB
Markdown
300 lines
10 KiB
Markdown
# What is Rustelo?
|
|
|
|
<div align="center">
|
|
<img src="../logos/rustelo_dev-logo-h.svg" alt="RUSTELO" width="300" />
|
|
</div>
|
|
|
|
Rustelo is a modern, high-performance web application framework built with Rust that combines the best of both worlds: the safety and speed of systems programming with the flexibility and ease of web development.
|
|
|
|
## The Rustelo Philosophy
|
|
|
|
### Built for the Modern Web
|
|
Rustelo was designed from the ground up to address the challenges of modern web development:
|
|
|
|
- **Performance First** - Every component is optimized for speed and efficiency
|
|
- **Security by Default** - Built-in protections against common web vulnerabilities
|
|
- **Developer Experience** - Tools and patterns that make development enjoyable
|
|
- **Production Ready** - Tested and proven in real-world applications
|
|
|
|
### Why Rust for Web Development?
|
|
|
|
Traditional web frameworks often force you to choose between performance and safety.[Rustelo](/) breaks this false dichotomy by leveraging Rust's unique advantages:
|
|
|
|
#### Memory Safety Without Garbage Collection
|
|
```rust
|
|
// No null pointer exceptions
|
|
// No buffer overflows
|
|
// No memory leaks
|
|
// No data races
|
|
```
|
|
|
|
#### Zero-Cost Abstractions
|
|
```rust
|
|
// High-level code that compiles to fast machine code
|
|
async fn handle_request(req: Request) -> Response {
|
|
let user = authenticate(&req).await?;
|
|
let content = fetch_content(&user).await?;
|
|
render_response(content)
|
|
}
|
|
```
|
|
|
|
#### Fearless Concurrency
|
|
```rust
|
|
// Handle thousands of concurrent users safely
|
|
#[tokio::main]
|
|
async fn main() {
|
|
let app = create_app().await;
|
|
let listener = tokio::net::TcpListener::bind("0.0.0.0:3030").await?;
|
|
axum::serve(listener, app).await?;
|
|
}
|
|
```
|
|
|
|
## Core Architecture
|
|
|
|
### Frontend: Reactive and Fast
|
|
Rustelo uses **Leptos** for the frontend, providing:
|
|
- **Server-Side Rendering (SSR)** - Fast initial page loads
|
|
- **Client-Side Hydration** - Interactive user experience
|
|
- **Reactive Components** - Efficient updates and state management
|
|
- **WebAssembly** - Near-native performance in the browser
|
|
|
|
### Backend: Robust and Scalable
|
|
The backend is powered by **Axum**, offering:
|
|
- **Async-First Design** - Handle many concurrent requests
|
|
- **Type-Safe Routing** - Catch errors at compile time
|
|
- **Middleware System** - Composable request/response processing
|
|
- **Tower Integration** - Rich ecosystem of networking components
|
|
|
|
### Database: Flexible and Reliable
|
|
Database integration through **SQLx** provides:
|
|
- **Compile-Time SQL Checking** - Catch database errors before deployment
|
|
- **Multiple Database Support** - PostgreSQL, SQLite, and more
|
|
- **Connection Pooling** - Efficient resource management
|
|
- **Migration System** - Version-controlled schema changes
|
|
|
|
## Feature Ecosystem
|
|
|
|
### Modular by Design
|
|
Rustelo uses Rust's feature flags to create a modular system:
|
|
|
|
```toml
|
|
[features]
|
|
default = ["auth", "content-db", "email"]
|
|
|
|
# Core features
|
|
auth = ["jsonwebtoken", "argon2", "oauth2"]
|
|
content-db = ["pulldown-cmark", "syntect", "sqlx"]
|
|
email = ["lettre", "handlebars"]
|
|
tls = ["rustls", "axum-server/tls"]
|
|
```
|
|
|
|
This means you only compile and include what you actually use.
|
|
|
|
### Available Modules
|
|
|
|
#### 🔐 Authentication Module
|
|
- JWT token-based authentication
|
|
- OAuth2 integration (Google, GitHub, etc.)
|
|
- Two-factor authentication (TOTP)
|
|
- Session management
|
|
- Role-based access control (RBAC)
|
|
|
|
#### 📝 Content Management Module
|
|
- Markdown rendering with syntax highlighting
|
|
- Rich text editing interface
|
|
- Media file management
|
|
- Content versioning
|
|
- SEO optimization tools
|
|
|
|
#### 📧 Email Module
|
|
- Multiple email providers (SMTP, SendGrid, AWS SES)
|
|
- HTML and text templates
|
|
- Contact forms
|
|
- Email verification workflows
|
|
- Newsletter capabilities
|
|
|
|
#### 🔒 Security Module
|
|
- HTTPS/TLS encryption
|
|
- CSRF protection
|
|
- Rate limiting
|
|
- Security headers
|
|
- Input validation and sanitization
|
|
|
|
## Real-World Benefits
|
|
|
|
### For End Users
|
|
- **Fast Loading** - Pages load quickly and stay responsive
|
|
- **Secure** - Your data is protected by industry best practices
|
|
- **Reliable** - Applications stay up and running
|
|
- **Mobile-Friendly** - Works perfectly on all devices
|
|
|
|
### For Developers
|
|
- **Productive** - Rich tooling and clear error messages
|
|
- **Maintainable** - Type safety prevents many bugs
|
|
- **Scalable** - Performance that grows with your users
|
|
- **Enjoyable** - Modern development experience
|
|
|
|
### For Businesses
|
|
- **Cost-Effective** - Lower server costs due to efficiency
|
|
- **Secure** - Reduced risk of data breaches
|
|
- **Fast Time-to-Market** - Rapid development cycles
|
|
- **Future-Proof** - Built on growing, stable technology
|
|
|
|
## Comparison with Other Frameworks
|
|
|
|
### vs. Node.js Frameworks
|
|
| Aspect | Rustelo | Node.js |
|
|
|--------|---------|---------|
|
|
| Performance | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ |
|
|
| Memory Safety | ⭐⭐⭐⭐⭐ | ⭐⭐ |
|
|
| Type Safety | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ |
|
|
| Ecosystem | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
|
|
| Learning Curve | ⭐⭐⭐ | ⭐⭐⭐⭐ |
|
|
|
|
### vs. Python Frameworks
|
|
| Aspect | Rustelo | Django/Flask |
|
|
|--------|---------|-------------|
|
|
| Performance | ⭐⭐⭐⭐⭐ | ⭐⭐ |
|
|
| Concurrency | ⭐⭐⭐⭐⭐ | ⭐⭐ |
|
|
| Type Safety | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ |
|
|
| Development Speed | ⭐⭐⭐ | ⭐⭐⭐⭐ |
|
|
| Runtime Errors | ⭐⭐⭐⭐⭐ | ⭐⭐ |
|
|
|
|
### vs. Go Frameworks
|
|
| Aspect | Rustelo | Go |
|
|
|--------|---------|-----|
|
|
| Performance | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
|
|
| Memory Safety | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ |
|
|
| Frontend Integration | ⭐⭐⭐⭐⭐ | ⭐⭐ |
|
|
| Compile Time | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
|
|
| Error Handling | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
|
|
|
|
## When to Choose Rustelo
|
|
|
|
### Perfect For:
|
|
- **High-Performance Applications** - When speed matters
|
|
- **Security-Critical Systems** - When safety is paramount
|
|
- **Long-Term Projects** - When maintainability is key
|
|
- **Growing Applications** - When you need to scale
|
|
- **Modern Development Teams** - When you want the latest tools
|
|
|
|
### Consider Alternatives If:
|
|
- **Rapid Prototyping** - When you need something in hours, not days
|
|
- **Large Existing Ecosystem** - When you need tons of third-party packages
|
|
- **Team Constraints** - When your team isn't ready for Rust
|
|
- **Simple CRUD Apps** - When basic functionality is sufficient
|
|
|
|
## Success Stories
|
|
|
|
### Performance Gains
|
|
> "We migrated our API from Node.js to[Rustelo](/) and saw a 10x improvement in response times while reducing server costs by 60%."
|
|
>
|
|
> — *Tech Lead at Growing SaaS Company*
|
|
|
|
### Developer Experience
|
|
> "The type safety caught so many bugs before they reached production. Our deployment confidence went through the roof."
|
|
>
|
|
> — *Senior Developer at Fintech Startup*
|
|
|
|
### Scalability
|
|
> "Rustelo handled our traffic spike during a viral campaign without any issues. The old system would have crashed."
|
|
>
|
|
> — *CTO at Media Company*
|
|
|
|
## The Technology Stack
|
|
|
|
### Frontend Technologies
|
|
- **Leptos** - Reactive web framework
|
|
- **WebAssembly** - High-performance client code
|
|
- **Tailwind CSS** - Utility-first styling
|
|
- **DaisyUI** - Beautiful components
|
|
|
|
### Backend Technologies
|
|
- **Axum** - Fast, ergonomic web server
|
|
- **Tokio** - Async runtime
|
|
- **Tower** - Modular networking
|
|
- **SQLx** - Type-safe database queries
|
|
|
|
### Infrastructure
|
|
- **Docker** - Containerized deployment
|
|
- **PostgreSQL/SQLite** - Flexible database options
|
|
- **Nginx** - Reverse proxy and load balancing
|
|
- **Let's Encrypt** - Automatic SSL certificates
|
|
|
|
## Getting Started Journey
|
|
|
|
### For Different User Types
|
|
|
|
#### Content Creators & Bloggers
|
|
1. **[Installation](./installation.md)** - Get Rustelo running
|
|
2. **[User Interface](../users/interface.md)** - Learn the admin panel
|
|
3. **[Content Publishing](../users/content.md)** - Create your first post
|
|
4. **[Customization](../users/profile.md)** - Make it yours
|
|
|
|
#### Developers & Teams
|
|
1. **[Development Setup](../developers/setup/environment.md)** - Configure your tools
|
|
2. **[Architecture Overview](../developers/architecture/overview.md)** - Understand the system
|
|
3. **[First Feature](../developers/features/adding-features.md)** - Build something
|
|
4. **[Testing](../developers/testing/strategy.md)** - Ensure quality
|
|
|
|
#### System Administrators
|
|
1. **[Production Installation](../deployment/production.md)** - Deploy securely
|
|
2. **[Configuration](../configuration/environment.md)** - Optimize settings
|
|
3. **[Monitoring](../deployment/monitoring.md)** - Keep it healthy
|
|
4. **[Backup Strategy](../deployment/backup.md)** - Protect your data
|
|
|
|
## Community and Ecosystem
|
|
|
|
### Open Source Benefits
|
|
- **Transparency** - You can see exactly how everything works
|
|
- **Security** - Many eyes make bugs shallow
|
|
- **Flexibility** - Modify anything to fit your needs
|
|
- **Longevity** - Not dependent on any single company
|
|
|
|
### Growing Ecosystem
|
|
- **Active Development** - Regular updates and improvements
|
|
- **Community Plugins** - Extensions built by users
|
|
- **Documentation** - Comprehensive guides and examples
|
|
- **Support** - Multiple channels for getting help
|
|
|
|
### Contributing Opportunities
|
|
- **Code Contributions** - Features, bug fixes, optimizations
|
|
- **Documentation** - Guides, tutorials, translations
|
|
- **Testing** - Quality assurance and feedback
|
|
- **Community** - Help other users succeed
|
|
|
|
## The Future of Rustelo
|
|
|
|
### Roadmap Highlights
|
|
- **Performance Optimizations** - Even faster response times
|
|
- **Enhanced Developer Tools** - Better debugging and profiling
|
|
- **More Integrations** - Additional third-party services
|
|
- **Mobile-First Features** - Progressive Web App capabilities
|
|
- **AI/ML Integration** - Modern AI-powered features
|
|
|
|
### Long-Term Vision
|
|
Rustelo aims to be the go-to framework for building high-performance, secure web applications that can grow from prototype to enterprise scale while maintaining developer productivity and system reliability.
|
|
|
|
## Next Steps
|
|
|
|
Ready to experience Rustelo? Here's what to do next:
|
|
|
|
### Try It Out
|
|
- **[Quick Installation](./installation.md)** - Get running in minutes
|
|
- **[Live Demo](https://demo.rustelo.dev)** - See it in action
|
|
- **[Example Applications](https://github.com/rustelo/examples)** - Real-world code
|
|
|
|
### Learn More
|
|
- **[Architecture Deep Dive](../developers/architecture/overview.md)** - Technical details
|
|
- **[Feature Comparison](../reference/features.md)** - What's included
|
|
- **[Performance Benchmarks](../performance/overview.md)** - How fast is it?
|
|
|
|
### Get Involved
|
|
- **[Community Forum](https://forum.rustelo.dev)** - Join the discussion
|
|
- **[GitHub Repository](https://github.com/rustelo/rustelo)** - See the code
|
|
- **[Contributing Guide](../contributing/guidelines.md)** - Help improve Rustelo
|
|
|
|
---
|
|
|
|
*Rustelo represents the future of web development: safe, fast, and enjoyable. Join us in building better web applications with the power of Rust.* 🦀⚡
|