How this project works
Junction Almanac is an original teaching blog built as twelve complete Rails snapshots. Clone the repository once and run any numbered folder without replaying every earlier lesson.
The course uses Rails conventions without hiding authentication behind Devise. You will see has_secure_password, a small session controller, an explicit current-user object, server-side ownership checks, and expiring one-use reset tokens.
Snapshots 4–12 seed ada@example.com and grace@example.com with password123. PostgreSQL runs from the root Compose file on host port 5434, while unique database names keep the snapshots independent.
The final app packages the same code in a multi-stage Docker image and deploys to Fly.io on internal port 3000. Environment variables provide the database URL, application host, and Rails secret.
Parts in order
Work through the parts in sequence. Each lesson explains the ideas, then points you to a runnable GitHub snapshot.