Update README.md
Added Repo Map, Why FluidFrameDev and License
This commit is contained in:
parent
548668ec25
commit
a1f3c00caf
68
README.md
68
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.
|
||||
|
||||
```
|
||||
|
|
Loading…
Reference in New Issue