hasura / 3factor

3factor app is an architecture pattern for modern fullstack apps. 3factor apps are fast to build and are highly scalable.

Home Page:https://3factor.app/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Canonical 3F app

vemv opened this issue · comments

commented

Hey there, interesting ideas. They seem well-aligned with the current zeitgeist in various fronts (backend, devops, frontend).

However these ideas are presented without context/references, specific technologies, and detailed-enough examples.

While there are obviously multiple ways of addressing those concerns, I would propose that you create a sample app that one can actually deploy and evaluate. One could review personally that the claims about reliability, latency, etc have an actual basis.

Hope it doesn't sound too fanciful!

Victor

Yes, this is required. We can use the food-delivery app that has been referenced in the doc as the canonical app. We also need a corresponding analytics app for evaluation purposes.

Deployment

3 steps (no puns)

  1. Step 1 ( realtime graphql) - Deploy Hasura on Heroku
  2. Step 2 (state models and async serverless) - Create data models and deploy lambdas (using serverless framework)
  3. Step 3 (event system) - Create event triggers

Evaluation

  1. Fast iteration

Place an order.
See updates.
Change the subscription to show more/different details
Place an order
See new updates instantly.

  1. Resilience

Frontend crashes - close the frontend during status updates. open it again and show correct status.
Backend crashes - Backend stops responding (undeploy lambda). Redeploy lambda and things are back to normal.

  1. Scalability

Using graphQurl, place orders for 1000 users per second. See analytics app for realtime updates.

Thoughts?

commented

Hey there, thanks for the response!

Personally it sounds good to me and would love to deploy such as sample app.

We have built such apps before. Here is an example: https://github.com/shahidhk/hasura-serverless

Just need to make it canonical and reference-ready :)

Hi everyone

Took a while but a full step-by-step canonical app is ready: https://github.com/hasura/3factor-example

Please go through it and post your doubts :)

cc: @vemv