Skip to content
loco
v1.0
▾
v1.0
Docs
Blog
Screencasts
Search
Ctrl
K
Cancel
★ 6.9k
◐
Get started
Tutorials
Your First App
The Tour
Build a Small Authenticated App
How-to guides
How-to Guides
Data & models
Add a model
Query data with the condition DSL
Paginate query results
Seed data
Load static data
Connect a second database
Web layer
Add a controller
Validate requests
Respond with different formats
Render server-side views
Handle errors
Add middleware
Serve static & SPA assets
Add websockets / realtime
Background work
Add a background worker
Choose a queue backend
Schedule recurring jobs
Write a one-off task
Send an email
Auth & security
Protect a Route with JWT
Protect a Route with an API Key
Configure Where Loco Looks for the JWT
Hash and Verify Passwords
Testing
Write request (controller) tests
Write DB model tests
Snapshot tests with fixtures and redactions
Ops & configuration
Configure file storage
Use the cache
Configure logging
Connect to Postgres and Redis over TLS
Deploy to production
Generators & tooling
Generate code with cargo loco generate
Override a built-in generator template
Diagnose your app with cargo loco doctor
Reference
Configuration
CLI reference
Generators & field types
Feature flags
Middleware catalog
AppContext & prelude
Hooks trait
Error model
Schema & ColType DSL
Query DSL & pagination
Explanation
Why "batteries included"?
Architecture: the request lifecycle
AppContext and dependency injection
The configuration model
The background-processing model
Views and assets
Coming from Axum
Extras
Upgrades
Resources
Around the Web
FAQ
Select theme
Dark
Light
Auto
Explanation