/blitz

⚡️Rails-like framework for monolithic, full-stack React apps — built on Next.js

Primary LanguageTypeScriptMIT LicenseMIT

Blitz.js


Blitz is a Rails-like framework for monolithic, full-stack React apps — built on Next.js


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!

Blitz is the framework for the 99% of us at companies with <100 employees. This means we don't force you to use advanced technologies like GraphQL. We let you add advanced technologies on your terms and at your pace.

Blitz maximizes your productivity both when starting an app and when scaling it to lots of code and users.


🎉 Alpha Release Now Available 🎉

  1. npm i -g blitz
  2. blitz new myapp
  3. Read the Alpha User Guide

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

Other key features coming:
⚡️ Highly secure authentication
⚡️ Authorization you can use on both server and client
⚡️ Model validation you can use on both server and client
⚡️ Plugins for easily adding libraries like Tailwind, CSS-in-JS, etc.
⚡️ React native support
⚡️ GUI so you don't have to use the CLI


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.


What are 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.


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.

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.


Sponsors and Donations

Sponsor Blitz and display your logo and hiring status here. This is a great way to get in front of early adopters!


Contributors ✨

Thanks to these wonderful people (emoji key):


Brandon Bayer

💻 🖋 🤔 👀

Michael Edelman

🚇 💻

Dylan Brookes

🤔 👀 💻

Rudi Yardley

💻 🤔

Todd Geist

💵

Beata Obrok

💻

Tahir Awan

💻

Camilo Gonzalez

💻

Daniel Kempner

💻

Giel

💻

Jeremy Liberman

💻

Jim Cummins

💻

Kristina Matuška

🎨

Robert Rosenberg

💻

Jason Blalock

💻

Corey Brown

💻

aej11a

💻

marcoseoane

🤔

Rishabh Poddar

🤔

Adam Markon

🤔

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

💻 ⚠️

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