| Home | Getting Started | Core Concepts | Helpers | Extensions | Repo |
End-to-end walkthroughs that exercise the framework’s primitives in real-world shapes. Each example is self-contained — clone the project, run the migration, copy the files, and it works.
| Walkthrough | What it covers |
|---|---|
| TODO application | CRUD, components, layouts, CSRF, flash messages, raw SQL |
| JSON API | Versioned routes, bearer-token auth, rate limiting, CORS, pagination |
| File uploads | $_FILES, MIME verification, optional S3-compatible mirroring |
| Real-time chat (SSE) | tiny::sse()->streamKey/sendKey, room-keyed delivery, EventSource client |
| User management | Sessions, password hashing, password reset, profile updates, role checks |
app/controllers/*.php) extending TinyControllerTinyModel subclasses that use the raw-SQL helpers on tiny::db()Layout::main(...) open/close pattern for page chrometiny::csrf()->input() + $request->isValidCSRF() for state-changing formstiny::flash('name')->set/get for one-shot user feedbackEvery example sticks to APIs documented in Core concepts and Extensions — no invented helpers, no ORM relations, no magic auth layer.
A fresh Tiny project (php tiny/cli create), Composer dependencies installed, and a database configured via TINY_DB_* env vars. Some examples reference users and tiny::user() — see the User management walkthrough for how that table and middleware are wired up.