# loco-rs/loco

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/loco-rs-loco).**

8,645 stars · 401 forks · Rust · apache-2.0

## Links

- GitHub: https://github.com/loco-rs/loco
- Homepage: https://loco.rs
- awesome-repositories: https://awesome-repositories.com/repository/loco-rs-loco.md

## Topics

`api` `axum` `rust` `rust-lang`

## Description

Loco is a full-stack web framework for Rust designed to accelerate application development using a convention-over-configuration approach. It functions as an MVC web framework that provides a structured environment for building web applications and REST APIs.

The project distinguishes itself through an integrated API development toolkit and a command-line scaffolding engine. These tools automate the creation of controllers, models, and migrations, allowing for the rapid generation of functional CRUD resources and application boilerplate.

The framework covers a broad range of backend capabilities, including database schema management via an object-relational mapper, user identity and session management, and server-side view rendering. It also includes a background job processor for executing asynchronous tasks and scheduling recurring workflows, alongside tools for managing file storage across different providers and automating deployment configurations.

## Tags

### Web Development

- [Full-Stack Web Frameworks](https://awesome-repositories.com/f/web-development/full-stack-web-frameworks.md) — Provides a full-stack web framework for building complete applications using a convention-over-configuration approach. ([source](https://cdn.jsdelivr.net/gh/loco-rs/loco@master/README.md))
- [API Routing](https://awesome-repositories.com/f/web-development/api-routing.md) — Provides a system for mapping incoming URL requests to specific controllers and route sets. ([source](https://loco.rs/casts/))
- [Application Boilerplates](https://awesome-repositories.com/f/web-development/application-boilerplates.md) — Generates pre-configured project structures, controllers, and models via a CLI to accelerate initial setup. ([source](https://loco.rs))
- [Request & Response Handling](https://awesome-repositories.com/f/web-development/backend-development/request-response-handling.md) — Processes incoming web requests, including parameter validation and content-aware response handling. ([source](https://cdn.jsdelivr.net/gh/loco-rs/loco@master/README.md))
- [CRUD Generators](https://awesome-repositories.com/f/web-development/crud-generators.md) — Automatically generates a functional set of CRUD endpoints from a single command. ([source](https://loco.rs/docs/getting-started/guide/))
- [RESTful API Development](https://awesome-repositories.com/f/web-development/restful-api-development.md) — Facilitates the development of scalable RESTful APIs with automated scaffolding for CRUD endpoints.
- [Rendering and Templating](https://awesome-repositories.com/f/web-development/rendering-templating.md) — Provides tools for server-side rendering and dynamic HTML generation through a templating engine. ([source](https://cdn.jsdelivr.net/gh/loco-rs/loco@master/README.md))
- [Server-Side Rendering](https://awesome-repositories.com/f/web-development/rendering-templating/server-side-rendering.md) — Generates dynamic HTML content on the server to support web pages and decoupled frontends. ([source](https://loco.rs))
- [Template-Driven Rendering](https://awesome-repositories.com/f/web-development/rendering-templating/server-side-rendering/template-driven-rendering.md) — Renders dynamic HTML by merging data models with predefined server-side templates.
- [Server-Side Rendering](https://awesome-repositories.com/f/web-development/server-side-rendering.md) — Implements server-side rendering to generate HTML markup for web applications. ([source](https://loco.rs/))

### Data & Databases

- [Database Schema Migrations](https://awesome-repositories.com/f/data-databases/database-management-systems/database-systems-management/database-management/database-schema-migrations.md) — Provides tools to track and apply versioned database schema updates to ensure consistency across environments.
- [Object-Relational Mappers](https://awesome-repositories.com/f/data-databases/object-relational-mappers.md) — Integrates an ORM to handle database operations and business entity relationships without manual SQL. ([source](https://cdn.jsdelivr.net/gh/loco-rs/loco@master/README.md))
- [Entity Relationship Models](https://awesome-repositories.com/f/data-databases/object-relational-mappers/data-modeling/entity-relationship-models.md) — Provides declarative definitions of entities and attributes for database schema generation. ([source](https://loco.rs))
- [Rust ORM Implementations](https://awesome-repositories.com/f/data-databases/orm-integrations/rust-orm-implementations.md) — Integrates an object-relational mapper to handle database entities and relations without writing raw SQL.
- [Entity Associations](https://awesome-repositories.com/f/data-databases/relational-data-modeling/entity-associations.md) — Defines associations between database entities to enable efficient loading of related data. ([source](https://loco.rs/docs/getting-started/guide/))
- [ORM Frameworks](https://awesome-repositories.com/f/data-databases/type-mapping-frameworks/script-to-native-type-mappings/entity-mappings/orm-frameworks.md) — Integrates a full ORM framework to map database tables to high-level Rust entities.
- [Caching](https://awesome-repositories.com/f/data-databases/data-engineering-infrastructure/caching-performance/caching.md) — Includes a caching layer to store frequently accessed data and improve response speeds. ([source](https://cdn.jsdelivr.net/gh/loco-rs/loco@master/README.md))
- [Session State Management](https://awesome-repositories.com/f/data-databases/session-state-management.md) — Tracks user state across requests by integrating session providers through application hooks. ([source](https://loco.rs/blog/))
- [File Storage Services](https://awesome-repositories.com/f/data-databases/storage-abstraction/file-storage-services.md) — Provides an abstracted interface for managing file storage across local disk and cloud providers. ([source](https://cdn.jsdelivr.net/gh/loco-rs/loco@master/README.md))

### Development Tools & Productivity

- [Command-Line Scaffolding](https://awesome-repositories.com/f/development-tools-productivity/command-line-scaffolding.md) — Ships a CLI engine that automates the generation of controllers, models, and migrations for rapid CRUD development.
- [API Development Toolkits](https://awesome-repositories.com/f/development-tools-productivity/api-development-toolkits.md) — Ships a command-line scaffolding engine to automate the generation of controllers, models, and migrations.
- [Background Task Schedulers](https://awesome-repositories.com/f/development-tools-productivity/background-task-schedulers.md) — Provides built-in utilities for managing recurring, scheduled, and delayed background operations.
- [Project Scaffolding](https://awesome-repositories.com/f/development-tools-productivity/project-scaffolding.md) — Generates a pre-configured project structure with directories for controllers, models, views, and workers. ([source](https://loco.rs/docs/getting-started/guide/))

### Security & Cryptography

- [Request Access Restrictions](https://awesome-repositories.com/f/security-cryptography/domain-access-restrictions/request-access-restrictions.md) — Enforces authentication by requiring valid sessions to authorize access to specific API routes. ([source](https://loco.rs/docs/getting-started/guide/))
- [User Authentication Systems](https://awesome-repositories.com/f/security-cryptography/user-authentication-systems.md) — Implements a system for verifying user identity and protecting sensitive routes using secure tokens. ([source](https://loco.rs/docs/getting-started/tour/))
- [User Identity Management](https://awesome-repositories.com/f/security-cryptography/user-identity-management.md) — Provides integrated systems for managing user profiles, secure authentication, and session tracking.
- [Request Authentication Middleware](https://awesome-repositories.com/f/security-cryptography/request-authentication-middleware.md) — Includes middleware that intercepts network requests to validate authentication tokens and session state.

### Software Engineering & Architecture

- [Convention-Over-Configuration Frameworks](https://awesome-repositories.com/f/software-engineering-architecture/convention-over-configuration-frameworks.md) — Employs a design philosophy that reduces boilerplate by using predefined directory structures and naming patterns.
- [Model-View-Controller Frameworks](https://awesome-repositories.com/f/software-engineering-architecture/model-view-controller-frameworks.md) — Implements a Model-View-Controller architecture to separate data, presentation, and control logic.
- [Asynchronous Task Queues](https://awesome-repositories.com/f/software-engineering-architecture/asynchronous-task-queues.md) — Implements an architectural pattern for offloading compute-intensive tasks to background workers to maintain request responsiveness.
- [Background Job Processors](https://awesome-repositories.com/f/software-engineering-architecture/execution-control/background-job-processors.md) — Includes an integrated system to offload compute-intensive tasks to asynchronous background queues.

### DevOps & Infrastructure

- [Asynchronous Email Dispatch](https://awesome-repositories.com/f/devops-infrastructure/asynchronous-email-dispatch.md) — Offloads email transmission to background workers to prevent request latency. ([source](https://cdn.jsdelivr.net/gh/loco-rs/loco@master/README.md))
- [Background Task Runners](https://awesome-repositories.com/f/devops-infrastructure/automation-orchestration/task-execution-frameworks/task-job-management/background-task-runners.md) — Executes operational scripts in the background with full access to the application context. ([source](https://loco.rs/casts/))
- [Task Schedulers](https://awesome-repositories.com/f/devops-infrastructure/automation-orchestration/task-execution-frameworks/task-job-management/task-schedulers.md) — Provides a programmatic alternative to system schedulers for running tasks on a fixed timetable. ([source](https://cdn.jsdelivr.net/gh/loco-rs/loco@master/README.md))
- [Background Job Processing](https://awesome-repositories.com/f/devops-infrastructure/background-job-processing.md) — Processes compute or I/O intensive tasks asynchronously using an integrated background job processor. ([source](https://cdn.jsdelivr.net/gh/loco-rs/loco@master/README.md))

### Networking & Communication

- [Email Dispatchers](https://awesome-repositories.com/f/networking-communication/email-dispatchers.md) — Implements a system for dispatching transactional business emails via various provider types. ([source](https://loco.rs/casts/))

### User Interface & Experience

- [Content Type Negotiators](https://awesome-repositories.com/f/user-interface-experience/content-rendering-components/remote-content-renderers/content-type-negotiators.md) — Detects the requested format to respond with the appropriate content type such as JSON or HTML. ([source](https://loco.rs/casts/))
