the guides
each guide covers one part of senro, with code taken from the apps senro is built against. a panel titled with a file's path shows that file as senro's repository holds it; the site's build checks every such panel against the commit it names, so the code here is the code that runs.
- getting started
build the guestbook one file at a time: the schema, a model, the actions and a view, then run it against Postgres.
- models and migrations
where the schema comes from, how a model is checked against its table, and the policies and rules that guard each write.
- views and components
kata templates, layouts, components whose actions run in the browser or on the server, providers that answer the browser from the database, and pages rendered in the browser from data.
- generators
write an app and a resource with
generate newandgenerate scaffold, and read what each file they write holds. - routing
how an action's name places it: the seven actions, ids, singular and nested resources, naming a route from code, keeping an old URL, and reading a query string.
- sessions and sign-in
the signed session, making an account, how passwords are kept, signing in without saying which names exist, limiting attempts, pages that ask for a sign-in, sending mail, resetting a lost password, confirming an address, and refusing requests from other sites.
- file uploads
a form with a file in it: reading the request as bytes, the form an action sees, where the files are kept, and serving them back.
- background jobs
work an app does after the request, kept in Postgres: queueing a job, the worker that claims it, retrying a failure, and mail sent later.