Skip to content

Latest commit

 

History

History
387 lines (319 loc) · 52.8 KB

README.md

File metadata and controls

387 lines (319 loc) · 52.8 KB

Blitz.js


The Fullstack React Framework

"Zero-API" Data Layer — Built on Next.js — Inspired by Ruby on Rails

Makes you far more productive than you ever dreamed was possible 😉


“Zero-API” data layer lets you import server code directly into your React components instead of having to manually add API endpoints and do client-side fetching and caching.

Includes everything you need for production apps. Everything end-to-end from the database to the frontend.

Blitz brings back the simplicity and conventions of server-rendered frameworks like Ruby on Rails while preserving everything we love about React and client-side rendering!


Quick Start

You need Node.js 12 or newer

Install Blitz

Run npm install -g blitz

Create a New App

  1. blitz new myAppName
  2. cd myAppName
  3. blitz start
  4. View your baby app at http://localhost:3000



Architecture diagram



Features:
⚡️ Built on Next.js
⚡️ Don't have to build an API for client-side rendering
⚡️ Client-side rendering, Server-side rendering, and fully static pages all in the same app
⚡️ Full Typescript support with static, end-to-end typing (no code generation step needed like with GraphQL)
⚡️ React Concurrent Mode enabled
⚡️ Database/ORM agnostic, but Prisma 2 is default
⚡️ CLI with code scaffolding, Rails-style console REPL, etc
⚡️ GraphQL Ready
⚡️ Deploy serverless or serverful
⚡️ Highly secure authentication
⚡️ Authorization you can use on both server and client
⚡️ Recipes for easily adding libraries like Tailwind, CSS-in-JS, etc.

Other key features coming:
⚡️ Model validation you can use on both server and client
⚡️ React native support
⚡️ GUI so you don't have to use the CLI


The Foundational Principles

  1. Fullstack & Monolithic
  2. API Not Required
  3. Convention over Configuration
  4. Loose Opinions
  5. Easy to Start, Easy to Scale
  6. Stability
  7. Community over Code

The Blitz Manifesto explains these principles in detail.


What is Blitz Designed For?

Blitz is designed for tiny to large database-backed applications that have one or more graphical user interfaces.

While we currently only support web, we are pursuing the dream of a single monolithic application that runs on web and mobile with maximum code sharing and minimal boilerplate.


Welcome to the Blitz Community 👋

The Blitz community is warm, safe, diverse, inclusive, and fun! LGBTQ+, women, and minorities are especially welcome. Please read our Code of Conduct.

Join our Slack Community where we help each other build Blitz apps. It's also where we collaborate on building Blitz itself.

For questions and longer form discussions, post in our forum.

There's still a lot of work to do, so you are especially invited to join us in building Blitz! A good place to start is The Contributing Guide.


Financial Contributors

Your financial contributions help ensure Blitz continues to be developed and maintained! We have monthly sponsorship options starting at $5/month.

👉 View options and contribute at GitHub Sponsors, PayPal, or Open Collective

🌱 Seedling Sponsors

🥉 Bronze Sponsors

🥈 Silver Sponsors

🏆 Gold Sponsors

💎 Diamond Sponsors


Core Team ✨


Brandon Bayer

Creator

Rudi Yardley

Node.js Wizard

Dylan Brookes

Friendly Generalist

Maintainers (Level 2) ✨

Code ownership, pull request approvals and merging, etc (see MAINTAINERS.md)


Adam Markon

CLI

Robert Rosenberg

Website/Docs

Maintainers (Level 1) ✨

Issue triage, pull request triage, community encouragement and moderation, etc (see MAINTAINERS.md)


Lori Karikari

Corey Brown

Simon Knott

Jeremy Liberman

Jaga Santagostino

Simon Debbarma

Jack Clancy

Ivan Medina

Satoshi Nitawaki

Contributors ✨

Thanks to these wonderful people (emoji key):


Brandon Bayer

💻 🖋 🤔 👀

Rudi Yardley

💻 🤔 👀 ⚠️

Dylan Brookes

💻 🤔 👀 ⚠️ 📖

Adam Markon

💻 🤔 👀 ⚠️ 🚧

Corey Brown

💻 👀 🚧

Lori Karikari

💻 👀 🚧 📖

Elias Johansson

💻 👀 🚧

Michael Edelman

🚇 💻

Todd Geist

💵 💻

Robert Rosenberg

💻 🚧 📖

Beata Obrok

💻

Tahir Awan

💻

Camilo Gonzalez

💻

Daniel Kempner

💻

Giel

💻

Jeremy Liberman

💻 🚧 ⚠️

Jim Cummins

💻

Kristina Matuška

🎨

Jason Blalock

💻

aej11a

💻

marcoseoane

🤔

Rishabh Poddar

🤔

Lorenzo Rapetti

💻

Justin Hall

💻 📖

Sajjad Hashemian

💻

Eduardo Lopes

💻

Matthew Leffler

📖

Matt

📖

Sonny

📖

Fran Zekan

💻 📖

Jan Baykara

📖

Mike Perry Y Attara

📖

Devan

📖

Jack Clancy

💻 🚧

Nicolas Torres

⚠️ 💻 👀

Simon Knott

💻 ⚠️ 🚧

Jaga Santagostino

💻 📖 🚧

João Portela

💻

Da-Jin Chu

💻

Shinobu Hayashi

💻

Karan Kiri

💻

Alan Long

📖

codingsh

💻

Rafael Nunes

👀 💻

Simon Debbarma

🎨 🚧 📖

0xflotus

💻 📖

tmns

💻 📖

Jru Harris

📖

Ivan Medina

💻 🚧

Dwight Watson

💻 📖

Horie Issei

💻

Nhat Khanh

💻

Abu Uzayr

💻

Nabiullah elham

💻

Lachlan Campbell

💻

Enzo Ferey

💻

Pierre Grimaud

💻

Andreas Adam

💻

Kevin Tovar

💻

Ante Primorac

💻 📖

Mykal Machon

💻

Jamie Davenport

💻

GaneshMani

💻

reymon359

💻

gvasquez11

💻

José Miguel Ochoa

💻

Oscar Sirvent

💻 📖

Daniel Molnar

📖 💻

Kevin Wu Won

📖

John Duong

💻

Noah Fleischmann

💻

Matsumoto Toshi

💻 📖

Simon Edelmann

💻

Shaun Church

📖 💻

Steven

📖

Sigurd Moland Wahl

💻

Brian Andrews

📖

Garrison Snelling

📖

Ty Lange-Smith

💻

Rubén Moya

💻 ⚠️

robertgrzonka

💻 🚇

Alex Orr

💻

Chris Tse

💻

Netto Farah

💻

Rohan Julka

🚇

Ivan Santos

💻

Soumyajit Pathak

💻

Sebastian Kurpiel

📖

Steffan

💻 📖 💵

Kristóf Poduszló

💻

Weilbyte

💻 📖

Ricardo Trejos

💻 📖

George Karagkiaouris

💻 📖

Brady Pascoe

💻

Jirka Svoboda

💻

Alan Alickovic

💻 📖

Yngve Høiseth

📖

Bruno Crosier

📖 💻

Johan Schepmans

💻

Dillon Raphael

💻

Cody G

💻 ⚠️

madflow

📖

Satoshi Nitawaki

💻 🚧 💬

sirmyron

📖

engelkes-finstreet

💻 📖

Denis Radin

👀 💻 📖

Michael Li

💻

yuta0801

💻

Obadja Ris

📖

Jose Felix

💻

John Cantrell

💻

Kwuang Tang

💻

John Letey

💻

Juan Di Toro

💻

Taylor Johnson

💻 📖

Sriram Thiagarajan

📖

Sergio Xalambrí

📖

Patrick G

💻

अभिनाश (Avinash)

💻

Enrico Schaaf

💻

Kitze

🤔

Mohamed Shaban

💻

Joris

💻

Valentin Funk

📖

Luke Bennett

💻

This project follows the all-contributors specification. Contributions of any kind welcome!