- Notifications
You must be signed in to change notification settings - Fork0
🚂 🦀 The one-person framework for Rust for side-projects and startups
License
Virviil/loco
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
loco.rs
Loco is "Rust on Rails".
Loco is strongly inspired by Rails. If you know Rails and Rust, you'll feel at home. If you only know Rails and new to Rust, you'll find Loco refreshing. We do not assume you know Rails.
To work with Loco, you need to know Rust to a beginner-moderate level. There are no crazy lifetime twisters and most of the development will be linear: request handling, workers, tasks, etc.
$ cargo install loco-cli
Now you can create your new app (choose "Saas app").
$ loco new❯ App name? [myapp]:❯ Saas app (with DB and user auth) Stateless service (minimal, no db)🚂 Loco app generated successfully in:myapp
loco:loco
and a db named[insert app]_development.
.When generating a starter, the database name incorporates your application name and the environment. For instance, if you includemyapp
, the database name in thetest.yaml
configuration will bemyapp_test
, and in thedevelopment.yaml
configuration, it will bemyapp_development
.
$ docker run -d -p 5432:5432 -e POSTGRES_USER=loco -e POSTGRES_DB=myapp_development -e POSTGRES_PASSWORD="loco" postgres:15.3-alpine
Nowcd
into yourmyapp
and start your app:
$ cd myapp$ cargo loco startFinished dev [unoptimized + debuginfo] target(s) in 21.63s Running `target/debug/myapp start` : : :controller/app_routes.rs:203: [Middleware] Adding log trace id ▄ ▀ ▀ ▄ ▄ ▀ ▄ ▄ ▄▀ ▄ ▀▄▄ ▄ ▀ ▀ ▀▄▀█▄ ▀█▄▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄▄▄ ▀▀█ ██████ █████ ███ █████ ███ █████ ███ ▀█ ██████ █████ ███ █████ ▀▀▀ █████ ███ ▄█▄ ██████ █████ ███ █████ █████ ███ ████▄ ██████ █████ ███ █████ ▄▄▄ █████ ███ █████ ██████ █████ ███ ████ ███ █████ ███ ████▀ ▀▀▀██▄ ▀▀▀▀▀▀▀▀▀▀ ▀▀▀▀▀▀▀▀▀▀ ▀▀▀▀▀▀▀▀▀▀ ██▀ ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀started on port 3000
Loco is feature complete, but features are still being added rapidly.
- Stateless APIs
- Complete SaaS products with user authentication
- Purpose-built services such as ML inference endpoints
- Full stack projects with separate frontend project integrated with Loco
- Hobby projects full-stack with backend and HTML frontend