Ruskit
Ruskit is a web application framework with expressive, elegant syntax inspired by Laravel, built for Rust. We believe development must be an enjoyable and creative experience. Ruskit takes the pain out of web development by easing common tasks used in many web projects.
Features
- 🚀 Expressive routing system
- 🔒 Built-in authentication and authorization
- 📦 Powerful dependency injection container
- 🗄️ Elegant database ORM with:
- Clear separation of entities and models
- Automatic validation using derive macros
- Fluent relationship definitions (HasOne, HasMany, BelongsTo)
- Type-safe query builder
- ⚡ High performance and memory safety
- 🛠️ Developer-friendly CLI tools
- 🔧 Configuration management
- 📝 Robust logging system
Prerequisites
Before you begin, ensure you have the following installed:
- Rust (latest stable version)
- cargo-generate - Install with:
- cargo-make - Install with:
Quick Start
First, install the Ruskit CLI tool:
# Install the Ruskit CLI tool
Then create a new Ruskit project:
# Create a new project
# Navigate to project directory
# Start the development server
Development Tools
Ruskit comes with several CLI tools to help you develop your application:
# Create a new model (generates both entity and model files)
# Create a new controller
# Create a new DTO
# Create all components (entity, model, controller, DTO)
# Run database migrations
# Start development server with hot reload
Project Structure
src/
├── app/
│ ├── entities/ # Data structures and validation rules
│ ├── models/ # Business logic and relationships
│ ├── controllers/ # Request handlers
│ ├── dtos/ # Data transfer objects
│ ├── factories/ # Test data factories
│ └── seeders/ # Database seeders
├── framework/ # Core framework components
└── web.rs # Route definitions
Documentation
For detailed documentation, please visit:
Contributing
We welcome contributions! Please see our Contributing Guide for details.
License
This project is licensed under the MIT License - see the LICENSE file for details.