|
| 1 | +<div align="center"> |
| 2 | + |
| 3 | + <img src="https://github.com/loco-rs/loco/assets/83390/992d215a-3cd3-42ee-a1c7-de9fd25a5bac"/> |
| 4 | + |
| 5 | + <h1>Bienvenido a Loco</h1> |
| 6 | + |
| 7 | + <h3> |
| 8 | + <!-- <snip id="description" inject_from="yaml"> --> |
| 9 | +🚂 Loco es Rust on Rails. |
| 10 | +<!--</snip> --> |
| 11 | + </h3> |
| 12 | + |
| 13 | + [](https://crates.io/crates/loco-rs) |
| 14 | + [](https://docs.rs/loco-rs) |
| 15 | + [](https://discord.gg/fTvyBzwKS8) |
| 16 | + |
| 17 | + </div> |
| 18 | + |
| 19 | +Español · [English](./README.md) · [中文](./README-zh_CN.md) · [Français](./README.fr.md) · [Português (Brasil)](./README-pt_BR.md) · [日本語](./README.ja.md) · [한국어](./README.ko.md) · [Русский](./README.ru.md) · Español |
| 20 | + |
| 21 | +## ¿Qué es Loco? |
| 22 | + |
| 23 | +`Loco` está fuertemente inspirado en Rails. Si conoces Rails y Rust, te sentirás como en casa. Si solo conoces Rails y eres nuevo en Rust, encontrarás Loco refrescante. No asumimos que conozcas Rails. |
| 24 | + |
| 25 | +Para una explicación más profunda de cómo funciona Loco, incluyendo guías detalladas, ejemplos y referencias de la API, consulta nuestro [sitio de documentación](https://loco.rs). |
| 26 | + |
| 27 | +## Características de Loco |
| 28 | + |
| 29 | +* `Convención sobre configuración:` Al igual que Ruby on Rails, Loco enfatiza la simplicidad y la productividad al reducir la necesidad de código repetitivo. Utiliza valores predeterminados sensatos, permitiendo a los desarrolladores centrarse en la lógica de negocio en lugar de perder tiempo en la configuración. |
| 30 | + |
| 31 | +* `Desarrollo rápido:` Loco está diseñado para una alta productividad del desarrollador, reduciendo el código repetitivo y proporcionando APIs intuitivas, permitiendo iterar rápidamente y construir prototipos con un esfuerzo mínimo. |
| 32 | + |
| 33 | +* `Integración ORM:` Modela tu negocio con entidades robustas, eliminando la necesidad de escribir SQL. Define relaciones, validaciones y lógica personalizada directamente en tus entidades para una mayor mantenibilidad y escalabilidad. |
| 34 | + |
| 35 | +* `Controladores:` Maneja parámetros de solicitudes web, cuerpo, validación y renderiza una respuesta consciente del contenido. Usamos Axum para el mejor rendimiento, simplicidad y extensibilidad. Los controladores también permiten construir middlewares fácilmente, que pueden usarse para agregar lógica como autenticación, registro o manejo de errores antes de pasar las solicitudes a las acciones principales del controlador. |
| 36 | + |
| 37 | +* `Vistas:` Loco puede integrarse con motores de plantillas para generar contenido HTML dinámico a partir de plantillas. |
| 38 | + |
| 39 | +* `Trabajos en segundo plano:` Realiza trabajos intensivos en computación o I/O en segundo plano con una cola respaldada por Redis o con hilos. Implementar un worker es tan simple como implementar una función perform para el trait Worker. |
| 40 | + |
| 41 | +* `Planificador:` Simplifica el tradicional y a menudo engorroso sistema crontab, facilitando y haciendo más elegante la programación de tareas o scripts de shell. |
| 42 | + |
| 43 | +* `Mailers:` Un mailer enviará correos electrónicos en segundo plano usando la infraestructura de background worker de Loco. Todo será transparente para ti. |
| 44 | + |
| 45 | +* `Almacenamiento:` En Loco Storage, facilitamos el trabajo con archivos a través de múltiples operaciones. El almacenamiento puede ser en memoria, en disco o usar servicios en la nube como AWS S3, GCP y Azure. |
| 46 | + |
| 47 | +* `Caché:` Loco proporciona una capa de caché para mejorar el rendimiento de la aplicación almacenando datos de acceso frecuente. |
| 48 | + |
| 49 | +Para ver más características de Loco, consulta nuestro [sitio de documentación](https://loco.rs/docs/getting-started/tour/). |
| 50 | + |
| 51 | +## Primeros pasos |
| 52 | +<!-- <snip id="quick-installation-command" inject_from="yaml" template="sh"> --> |
| 53 | +```sh |
| 54 | +cargo install loco |
| 55 | +cargo install sea-orm-cli # Solo si necesitas base de datos |
| 56 | +``` |
| 57 | +<!-- </snip> --> |
| 58 | + |
| 59 | +Ahora puedes crear tu nueva app (elige "`SaaS` app"). |
| 60 | + |
| 61 | +<!-- <snip id="loco-cli-new-from-template" inject_from="yaml" template="sh"> --> |
| 62 | +```sh |
| 63 | +❯ loco new |
| 64 | +✔ ❯ ¿Nombre de la app? · miapp |
| 65 | +✔ ❯ ¿Qué te gustaría construir? · App SaaS con renderizado del lado del cliente |
| 66 | +✔ ❯ Selecciona un proveedor de BD · Sqlite |
| 67 | +✔ ❯ Selecciona el tipo de worker en segundo plano · Async (tareas async in-process con tokio) |
| 68 | + |
| 69 | +🚂 App Loco generada exitosamente en: |
| 70 | +miapp/ |
| 71 | + |
| 72 | +- assets: Has seleccionado `clientside` para la configuración de tu servidor de assets. |
| 73 | + |
| 74 | +Siguiente paso, construye tu frontend: |
| 75 | + $ cd frontend/ |
| 76 | + $ npm install && npm run build |
| 77 | +``` |
| 78 | +<!-- </snip> --> |
| 79 | + |
| 80 | +Ahora entra en tu `miapp` y arranca tu app: |
| 81 | +<!-- <snip id="starting-the-server-command-with-output" inject_from="yaml" template="sh"> --> |
| 82 | +```sh |
| 83 | +$ cargo loco start |
| 84 | + |
| 85 | + ▄ ▀ |
| 86 | + ▀ ▄ |
| 87 | + ▄ ▀ ▄ ▄ ▄▀ |
| 88 | + ▄ ▀▄▄ |
| 89 | + ▄ ▀ ▀ ▀▄▀█▄ |
| 90 | + ▀█▄ |
| 91 | +▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄▄▄ ▀▀█ |
| 92 | +██████ █████ ███ █████ ███ █████ ███ ▀█ |
| 93 | +██████ █████ ███ █████ ▀▀▀ █████ ███ ▄█▄ |
| 94 | +██████ █████ ███ █████ █████ ███ ████▄ |
| 95 | +██████ █████ ███ █████ ▄▄▄ █████ ███ █████ |
| 96 | +██████ █████ ███ ████ ███ █████ ███ ████▀ |
| 97 | + ▀▀▀██▄ ▀▀▀▀▀▀▀▀▀▀ ▀▀▀▀▀▀▀▀▀▀ ▀▀▀▀▀▀▀▀▀▀ ██▀ |
| 98 | + ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ |
| 99 | + https://loco.rs |
| 100 | + |
| 101 | +listening on port 5150 |
| 102 | +``` |
| 103 | +<!-- </snip> --> |
| 104 | + |
| 105 | +## Proyectos impulsados por Loco |
| 106 | + |
| 107 | +* [SpectralOps](https://spectralops.io) - varios servicios impulsados por el framework Loco |
| 108 | + |
| 109 | +* [Nativish](https://nativi.sh) - backend de la app impulsado por el framework Loco |
| 110 | + |
| 111 | +## Contribuidores ✨ |
| 112 | + |
| 113 | +Gracias a estas personas maravillosas: |
| 114 | + |
| 115 | +<a href="https://github.com/loco-rs/loco/graphs/contributors"> |
| 116 | + <img src="https://contrib.rocks/image?repo=loco-rs/loco" /> |
| 117 | +</a> |
0 commit comments