diff --git a/README.md b/README.md index 1523f27..8724881 100644 --- a/README.md +++ b/README.md @@ -1,29 +1,65 @@ -# FluidFrameDev +# FluidFrameDev πŸ§ͺ🐍 -# How to Code in Anvil πŸ› οΈπŸ +> Anvil tutorials that slip smoothly from client to server. +> Python in a tux, code in sweatpants. -> Python, but make it full-stack. Anvil lets you build web apps with Python on the front-end, back-end, and that weird in-between bit where bugs are born. +## What’s inside +A set of small, sarcastic, and surprisingly practical Anvil guides you can finish in coffee-sized chunks: -## What this repo is -A fast, slightly sarcastic tutorial set you can follow in 30–60 minute bursts: -- **01 – Hello, Anvil**: Your first form, your first button, your first victory lap. -- **02 – Data Tables**: Store data like a responsible adult. -- **03 – Server Modules**: Do secure things on the server, not in the browser. (No, really.) +- **01 – Hello, Fluid Frame**: Button β†’ server call β†’ dopamine. +- **02 – Data Tables**: Persist stuff like a functioning adult. +- **03 – Server Modules**: Secrets and logic where JavaScript can’t see them. +- **04 – Uplink**: Talk to your local machine like it owes you money. +- **05 – Auth**: Users, roles, and pretending to be an enterprise. -## TL;DR: Hello Anvil -1. Go to [anvil.works](https://anvil.works) β†’ **New App** β†’ **Blank App** (Material Design). -2. Add a **Button** to `Form1`. -3. Click **Code** and paste: +--- -**`Form1` (client)** +## TL;DR demo + +**Client (`Form1`)** ```python from anvil import * import anvil.server class Form1(Form1Template): - def __init__(self, **properties): - self.init_components(**properties) - def button_1_click(self, **event_args): msg = anvil.server.call('hello_server', self.text_box_1.text or "World") Notification(msg, timeout=2).show() +```` + +**Server (`ServerModule1`)** + +```python +import anvil.server + +@anvil.server.callable +def hello_server(name): + return f"Hello from the server, {name} πŸ‘‹" +``` + +Run ▢️. If it works, nod like you meant that to happen. + +--- + +## Repo map + +* `tutorials/` – step-by-steps you can copy/paste +* `examples/` – tiny scripts showing patterns +* `assets/` – screenshots, gifs, and banners + +--- + +## Why FluidFrameDev? + +* No JavaScript required (but you can still flex). +* Python everywhere. +* Deploy in minutes, not after the next sprint. +* Learn by building, breaking, and laughing at your own mistakes. + +--- + +## License + +MIT. Steal the jokes too. + +```