Update README.md

Added Repo Map, Why FluidFrameDev and License
This commit is contained in:
Hira Barton 2025-08-03 08:35:54 +00:00
parent 548668ec25
commit a1f3c00caf
1 changed files with 52 additions and 16 deletions

View File

@ -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. ## Whats inside
A set of small, sarcastic, and surprisingly practical Anvil guides you can finish in coffee-sized chunks:
## What this repo is - **01 Hello, Fluid Frame**: Button → server call → dopamine.
A fast, slightly sarcastic tutorial set you can follow in 3060 minute bursts: - **02 Data Tables**: Persist stuff like a functioning adult.
- **01 Hello, Anvil**: Your first form, your first button, your first victory lap. - **03 Server Modules**: Secrets and logic where JavaScript cant see them.
- **02 Data Tables**: Store data like a responsible adult. - **04 Uplink**: Talk to your local machine like it owes you money.
- **03 Server Modules**: Do secure things on the server, not in the browser. (No, really.) - **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 ```python
from anvil import * from anvil import *
import anvil.server import anvil.server
class Form1(Form1Template): class Form1(Form1Template):
def __init__(self, **properties):
self.init_components(**properties)
def button_1_click(self, **event_args): def button_1_click(self, **event_args):
msg = anvil.server.call('hello_server', self.text_box_1.text or "World") msg = anvil.server.call('hello_server', self.text_box_1.text or "World")
Notification(msg, timeout=2).show() 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.
```