# RedwoodJS — Full-Stack React Framework with GraphQL and Prisma > RedwoodJS is an opinionated full-stack JavaScript framework that combines React on the frontend with a GraphQL API and Prisma ORM on the backend, optimized for startups and rapid application development. ## Install Save as a script file and run: # RedwoodJS — Full-Stack React Framework with GraphQL and Prisma ## Quick Use ```bash npx -y create-redwood-app my-app cd my-app yarn rw dev # Web at http://localhost:8910, API at http://localhost:8911 ``` ## Introduction RedwoodJS is a full-stack web framework co-founded by Tom Preston-Werner (GitHub co-founder) that wires together React, GraphQL, and Prisma into a single cohesive developer experience. It follows a cells-and-services architecture that separates data fetching from presentation, and includes generators, auth integration, and deploy targets out of the box. ## What RedwoodJS Does - Scaffolds full-stack CRUD features with a single CLI generator command - Connects a React frontend to a GraphQL API backed by Prisma and any SQL database - Provides Cells, a declarative data-fetching pattern that handles loading, empty, error, and success states - Includes built-in authentication adapters for Supabase, Auth0, Clerk, and others - Supports prerendering, server-side rendering, and streaming via React Server Components ## Architecture Overview A Redwood project is a monorepo with two workspaces: `web` (React + Apollo Client) and `api` (GraphQL + Prisma). The web side uses Cells to declare GraphQL queries alongside the component that renders the result. The API side maps SDL type definitions to service functions that call Prisma. A built-in CLI generates boilerplate for pages, layouts, cells, services, and database migrations. ## Self-Hosting & Configuration - Create a project with `npx create-redwood-app` and choose TypeScript or JavaScript - Define your data model in `api/db/schema.prisma` and run `yarn rw prisma migrate dev` - Generate pages, cells, and services with `yarn rw generate` commands - Configure auth, deployment target, and environment variables in `redwood.toml` - Deploy to Vercel, Netlify, AWS Lambda, Render, or self-hosted Node.js servers ## Key Features - Cells pattern separates data lifecycle states from rendering logic cleanly - Full-stack generators produce pages, GraphQL types, services, and tests together - Prisma integration with automatic migration management via CLI - Multiple auth provider adapters with role-based access control built in - Storybook integration for isolated component development ## Comparison with Similar Tools - **Next.js** — React meta-framework with SSR/SSG focus, no built-in GraphQL layer or ORM - **Remix** — Web-standards-first with loaders and actions, no opinionated ORM or GraphQL integration - **Blitz.js** — Similar full-stack vision built on Next.js with zero-API pattern, smaller community - **Meteor** — Older full-stack platform with real-time data, uses its own build system and pub/sub - **SvelteKit** — Svelte-based full-stack framework, different component model, no GraphQL layer ## FAQ **Q: Does RedwoodJS require GraphQL?** A: GraphQL is the default API layer. Redwood also supports building custom REST endpoints, but the generators and Cells pattern are designed around GraphQL. **Q: What databases does RedwoodJS support?** A: Any database supported by Prisma: PostgreSQL, MySQL, SQLite, SQL Server, CockroachDB, and MongoDB (preview). **Q: Is RedwoodJS ready for production?** A: Yes. RedwoodJS reached v1.0 in 2022 and has been used in production applications. The framework continues active development toward v8+. **Q: Can I use RedwoodJS without the full-stack setup?** A: The framework is designed as a cohesive full-stack solution. Using only the web or API side independently is possible but loses the integrated developer experience. ## Sources - https://github.com/redwoodjs/redwood - https://redwoodjs.com/docs --- Source: https://tokrepo.com/en/workflows/d0d8eb8f-42fe-11f1-9bc6-00163e2b0d79 Author: Script Depot