Skip to content

Commit

Permalink
edits
Browse files Browse the repository at this point in the history
  • Loading branch information
andie787 committed Aug 23, 2024
1 parent ee8246a commit 24e9ccc
Showing 1 changed file with 6 additions and 4 deletions.
10 changes: 6 additions & 4 deletions happy-path/index.html.markerb
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,13 @@ If you don't get a good feeling within an hour, you're out of here. If you do ge

## Beyond `hello fly`

A real-world application usually has, at a minimum, the following components:
Our deep dive assumes that you're not satisfied by a `hello fly`, or even a `hello fly` with a database application. You know that a real-world application has at a minimum the following components:

* An HTML form and a database; typically a relational database.
* The ability to handle media files or documents, generally using S3.
* A multi-user and realtime component, where changes made by one person in one location are reflected instantly in the browser of another person.

Check warning on line 28 in happy-path/index.html.markerb

View workflow job for this annotation

GitHub Actions / Vale linter

[vale] reported by reviewdog 🐶 [Fly.Spelling] Is 'realtime' a typo? Raw Output: {"message": "[Fly.Spelling] Is 'realtime' a typo?", "location": {"path": "happy-path/index.html.markerb", "range": {"start": {"line": 28, "column": 20}}}, "severity": "INFO"}

To get a fully-functional app running smoothly, you need a whole bunch of things; things like Anycast routing, load balancers, DNS certificates, WebSockets, an internal private network, a relational database, an object store, and an in-memory database. And the knowledge to to connect them all together.
To get a fully-functional app running smoothly, you need a whole bunch of things; things like Anycast routing, load balancers, DNS certificates, WebSockets, an internal private network, a relational database, an object store, and an in-memory database. And the knowledge to connect them all together.

We take a lot of this work off your plate with our [Fly Proxy routing](/docs/reference/fly-proxy/) and out-of-the-box [private networking](/docs/networking/private-networking/).

Expand All @@ -42,12 +42,14 @@ The deep dive demo uses industry standard components that you can run on your la
The deep dive demo is based on [MDN's Web Dictaphone](https://github.com/mdn/dom-examples/tree/main/media/web-dictaphone+external).

Check warning on line 42 in happy-path/index.html.markerb

View workflow job for this annotation

GitHub Actions / Vale linter

[vale] reported by reviewdog 🐶 [Fly.Spelling] Is 'MDN's' a typo? Raw Output: {"message": "[Fly.Spelling] Is 'MDN's' a typo?", "location": {"path": "happy-path/index.html.markerb", "range": {"start": {"line": 42, "column": 33}}}, "severity": "INFO"}
You can play with a [live demo hosted on GitHub](https://mdn.github.io/dom-examples/media/web-dictaphone/+external). The Web Dictaphone app is about as basic of an HTML form as you can get, and it has the added bonus of providing the ability to generate as many media files as you want using only your voice.

The basic Web Dictaphone is client side only, requiring a web server that can deploy static assets (HTML, CSS, JS, images), like NGINX, Apache HTTPd, or Caddy. Storing the data in databases for our deep dive demo requires a server that can handle HTTP GET, POST, PUT, and DELETE requests. The choice of server varies depending on the language or framework.
The basic Web Dictaphone is client side only, requiring a web server that can deploy static assets (HTML, CSS, JS, images), like nginx, Apache HTTPd, or Caddy. Storing the data in databases for our deep dive demo requires a server that can handle HTTP GET, POST, PUT, and DELETE requests. The choice of server varies depending on the language or framework.

Check warning on line 45 in happy-path/index.html.markerb

View workflow job for this annotation

GitHub Actions / Vale linter

[vale] reported by reviewdog 🐶 [Fly.Spelling] Is 'HTTPd' a typo? Raw Output: {"message": "[Fly.Spelling] Is 'HTTPd' a typo?", "location": {"path": "happy-path/index.html.markerb", "range": {"start": {"line": 45, "column": 144}}}, "severity": "INFO"}

Check warning on line 45 in happy-path/index.html.markerb

View workflow job for this annotation

GitHub Actions / Vale linter

[vale] reported by reviewdog 🐶 [Fly.Spelling] Is 'Caddy' a typo? Raw Output: {"message": "[Fly.Spelling] Is 'Caddy' a typo?", "location": {"path": "happy-path/index.html.markerb", "range": {"start": {"line": 45, "column": 154}}}, "severity": "INFO"}

### Other demo components

The demo includes the following components:

* A [PostgreSQL](https://www.postgresql.org/+external) relational database to store the names of the audio clips
* A [Tigris bucket](https://www.tigrisdata.com/+external) to store the the audio files
* A [Tigris bucket](https://www.tigrisdata.com/+external) to store the audio files
* [Upstash for Redis](https://fly.io/docs/reference/redis/) and [WebSockets](https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API+external) to handle the connections for the realtime requirement

Check warning on line 53 in happy-path/index.html.markerb

View workflow job for this annotation

GitHub Actions / Vale linter

[vale] reported by reviewdog 🐶 [Fly.Spelling] Is 'realtime' a typo? Raw Output: {"message": "[Fly.Spelling] Is 'realtime' a typo?", "location": {"path": "happy-path/index.html.markerb", "range": {"start": {"line": 53, "column": 186}}}, "severity": "INFO"}

## Available runtimes
Expand Down

0 comments on commit 24e9ccc

Please sign in to comment.