Khadem
โก A powerful, modern Dart backend framework for building scalable web applications
Khadem is a comprehensive backend framework built with Dart, designed for developers who demand performance, elegance, and full control. It provides a complete toolkit for building robust web applications with features like dependency injection, modular architecture, built-in CLI tools with automatic command discovery, database management, caching, authentication, and production-ready deployment capabilities.
๐ Key Features
Core Architecture
- ๐ High Performance: Built with Dart for exceptional speed and efficiency
- ๐งฑ Modular Design: Service provider architecture for clean, maintainable code
- ๐ฆ Dependency Injection: Flexible container-based dependency management
- โ๏ธ Configuration System: Environment-aware configuration with dot-notation support
Development Tools
- ๐ ๏ธ Powerful CLI: Comprehensive command-line tools with auto-discovery
- ๐ค Code Generation: Automated generation of models, controllers, middleware, providers, jobs, and listeners
- ๐ฅ Hot Reload: Development server with hot reload support
- ๐ Migration System: Database migration and seeding support
Data & Storage
- ๐๏ธ Database Layer: Support for MySQL with ORM capabilities
- ๐พ Multiple Drivers: MySQL, Redis, and extensible driver system
- ๐งต Queue System: Background job processing with Redis support
- ๐ File Storage: Flexible file upload and storage management
Security & Auth
- ๐ JWT Authentication: Secure token-based authentication system
- ๐ก๏ธ Middleware System: Request/response middleware for security and processing
- โ Input Validation: Comprehensive validation rules and error handling
- ๐ Security Features: Built-in protection against common web vulnerabilities
Production Ready
- ๐ Caching: Multiple caching drivers (Redis, memory-based)
- โฐ Task Scheduling: Background job scheduling and processing
- ๐ Logging: Structured logging with multiple output formats
๐ฆ Installation
Install Khadem CLI globally for project management:
dart pub global activate khadem
Requirements
- Dart SDK: >=3.0.0
- Supported Platforms: Windows, macOS, Linux
- Database: MySQL (optional)
- Cache: Redis (optional)
โก Quick Start
Get started with Khadem in minutes:
1. Create New Project Structure
# Create new project from GitHub template
khadem new --name=my_app
cd my_app
dart pub get
2. Start Development Server
# Run your Khadem application
dart run lib/main.dart
# Or for development with hot reload:
khadem serve
Your application will be running at http://localhost:3000 with hot reload enabled!
๏ฟฝ๐ Support & Community
- ๐ Bug Reports: GitHub Issues
- ๐ก Feature Requests: GitHub Discussions
- ๐ฌ Community: Join our growing community of Dart backend developers
Getting Help
- Check the README - Most common questions are answered here
- Browse existing issues - Your question might already be answered
- Create a new issue - For bugs, include code examples and error messages
- Start a discussion - For feature requests and general questions
Built with โค๏ธ for the Dart community by Khedr Mahmoud
"Empowering developers to build powerful backend applications with the elegance and performance of Dart"