Sobre el proyecto
Runique es un framework web de Rust diseñado para traer la productividad Django-style a las aplicaciones en Rust, preservando la seguridad y el rendimiento a través de conveniciones declarativas. Se construye sobre Axum, SeaORM y Tera, y enfoca la reducción de esqueleto mediante macros declarativos y convenciones integradas. El main crate es runique, y el repositorio incluye un aplicación demo usada para validar el framework y documentación bilingüe en inglés y francés.
El framework se centra en una macro! model que declara un modelo una vez y genera la entity de SeaORM y migración correspondiente. Aparar un model con el atributo #[form] produce un form type-safety validado server-side. Registrando el recurso en una macro! admin genera un panel CRUD de gestión con vistas de lista, búsqueda, filtros y permisos. El ruteo se maneja con un macros! url que produce un Router Axum regular, mientras que los templates usan Tera con autodescubrimiento. El proyecto incluye medidas de seguridad estándar, como comparación constante de tokens CSRF, nonces de Política de Contenido, tratamiento seguro de login, encriptación de contraseñas Argon2, sesiones guardadas en base de datos, tokens de reinicio de contraseña y sanitización de salida. También proporciona una CLI para tareas comunes, incluyendo crear un nuevo proyecto, generar código administrativo, crear superusuario, realizar migraciones y aplicar/rollejarlas. El panel de administración se describe como beta, con permisos principalmente a nivel de recurso y código generado reemplazado al generarse. El proyecto soporta múltiples backends de base de datos, incluyendo SQLite, PostgreSQL, MySQL y MariaDB, con todos habilitados por defecto. Incluye un gran conjunto de pruebas y mide metricas de cobertura para el crate del framework. La documentación cubre instalación, arquitectura, configuración, ruteo, formas, modelos, templates, uso de ORM, middleware, mensajes flash, ejemplos, admin, sesiones y variables de entorno. La licencia es bajo MIT.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.