FluidFrameDev/README.md

74 lines
1.8 KiB
Markdown
Raw Normal View History

# FluidFrameDev 🧪🐍
2025-08-03 08:27:23 +00:00
> Anvil tutorials that slip smoothly from client to server.
> Python in a tux, code in sweatpants.
2025-08-03 08:29:28 +00:00
## Whats inside
A set of small, sarcastic, and surprisingly practical Anvil guides you can finish in coffee-sized chunks:
2025-08-03 08:29:28 +00:00
- **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 cant see them.
- **04 Uplink**: Talk to your local machine like it owes you money.
- **05 Auth**: Users, roles, and pretending to be an enterprise.
2025-08-03 08:29:28 +00:00
---
2025-08-03 08:29:28 +00:00
## TL;DR demo
**Client (`Form1`)**
2025-08-03 08:29:28 +00:00
```python
from anvil import *
import anvil.server
class Form1(Form1Template):
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.
2025-08-03 10:11:09 +00:00
---
## Tutorials
1. [01 — Hello Fluid Frame](tutorials/01-hello-fluid-frame.md)
2. [02 — Data Tables](tutorials/02-data-tables.md)
3. [03 — Security (RBAC + secrets)](tutorials/03-server-modules-security.md)
4. [04 — Uplink: File Hash](tutorials/04-uplink-file-hash.md)
5. [05 — Auth: Roles + UI](tutorials/05-auth-roles-ui.md)
---
## License
MIT. Steal the jokes too.
```