๐๏ธ Accessibility (aka a11y)
We built Redwood to make building websites more accessible (we write all the config so you don't have to), but Redwood's also built to help you make more accessible websites. Accessibility shouldn't be a nice-to-have. It should be a given from the start, a core feature that's built-in and well-supported.
๐๏ธ App Configuration: redwood.toml
You can configure your Redwood app's settings in redwood.toml. By default, redwood.toml lists the following configuration options:
๐๏ธ Assets and Files
โ Work in Progress โ ๏ธ
๐๏ธ Authentication
@redwoodjs/auth contains both a built-in database-backed authentication system (dbAuth), as well as lightweight wrappers around popular SPA authentication libraries.
๐๏ธ Builds
โ Work in Progress โ ๏ธ
๐๏ธ Cells
Cells are a declarative approach to data fetching and one of Redwood's signature modes of abstraction.
๐๏ธ Command Line Interface
The following is a comprehensive reference of the Redwood CLI. You can get a glimpse of all the commands by scrolling the aside to the right.
๐๏ธ Connection Pooling
โ Work in Progress โ ๏ธ
๐๏ธ Contributing: Overview and Orientation
Love Redwood and want to get involved? Youโre in the right place and in good company! As of this writing, there are more than 250 contributors who have helped make Redwood awesome by contributing code and documentation. This doesn't include all those who participate in the vibrant, helpful, and encouraging Forums and Discord, which are both great places to get started if you have any questions.
๐๏ธ Contributing: Step-by-Step Walkthrough (with Video)
โก๏ธ Quick Links
๐๏ธ CORS
CORS stands for Cross Origin Resource Sharing. In a nutshell, by default, browsers aren't allowed to access resources outside their own domain.
๐๏ธ Custom Web Index
You might've noticed that there's no call to ReactDOM.render anywhere in your Redwood App (v0.26 and greater). That's because Redwood automatically mounts your ` in web/src/App.js to the DOM. But if you need to customize how this happens, you can provide a file called index.js in web/src` and Redwood will use that instead.
๐๏ธ Data Migrations
Data Migrations are available as of RedwoodJS v0.15
๐๏ธ Deployment
7 items
๐๏ธ Directives
Redwood Directives are a powerful feature, supercharging your GraphQL-backed Services.
๐๏ธ Environment Variables
You can provide environment variables to each side of your Redwood app in different ways, depending on each Side's target, and whether you're in development or production.
๐๏ธ Forms
Redwood provides several helpers to make building forms easier.
๐๏ธ GraphQL
GraphQL is a fundamental part of Redwood. Having said that, you can get going without knowing anything about it, and can actually get quite far without ever having to read the docs. But to master Redwood, you'll need to have more than just a vague notion of what GraphQL is. You'll have to really grok it.
๐๏ธ Local Postgres Setup
RedwoodJS uses a SQLite database by default. While SQLite makes local development easy, you're
๐๏ธ Logger
RedwoodJS provides an opinionated logger with sensible, practical defaults that grants you visibility into the applications while you're developing and after you have deployed.
๐๏ธ Mocking GraphQL requests
Testing and building components without having to rely on the API is a good best practice. Redwood makes this possible via mockGraphQLQuery and mockGraphQLMutation.
๐๏ธ Prerender
Some of your pages don't have dynamic content; it'd be great if you could render them ahead of time, making for a faster experience for your end users.
๐๏ธ Project Configuration: Dev, Test, Build
Babel
๐๏ธ RedwoodRecord
RedwoodRecord is currently considered to be Experimental. We are hoping folks will start using it and give us feedback to help shape it's development and developer experience.
๐๏ธ Router
This is the built-in router for Redwood apps. It takes inspiration from Ruby on Rails, React Router, and Reach Router, but is very opinionated in its own way.
๐๏ธ Prisma Relations and Redwood's Generators
These docs apply to Redwood v0.25 and greater. Previous versions of Redwood had limitations when creating scaffolds for any one-to-many or many-to-many relationships. Most of those have been resolved so you should definitely upgrade to 0.25 if at all possible!
๐๏ธ Security
RedwoodJS wants you to be able build and deploy secure applications and takes the topic of security seriously.
๐๏ธ SEO & Meta tags
Add app title
๐๏ธ Serverless Functions
Redwood looks for serverless functions in api/src/functions. Each function is mapped to a URI based on its filename. For example, you can find api/src/functions/graphql.js at http8911/graphql.
๐๏ธ Services
Redwood aims to put all of your business logic in one placeโServices. These can be used by your GraphQL API or any other place in your backend code. Redwood does all of the annoying stuff for you, just write your business logic!
๐๏ธ Storybook
Storybook enables a kind of frontend-first, component-driven development workflow that we've always wanted.
๐๏ธ Testing
Testing. For some it's an essential part of their development workflow. For others it's something they know they should do, but for whatever reason it hasn't struck their fancy yet. For others still it's something they ignore completely, hoping the whole concept will go away. But tests are here to stay, and maybe Redwood can change some opinions about testing being awesome and fun.
๐๏ธ Toast Notifications
Deprecation Warning: In RedwoodJS v0.27, the custom Flash Messaging was replaced with React Hot Toast. Flash, implemented with import { useFlash } from '@redwoodjs/web' will be deprecated in Redwood v1. If you are currently using ` and useFlash`, you can update your app via these instructions.
๐๏ธ TypeScript
Redwood comes with full TypeScript support out of the box, and you don't have to give up any of the conveniences that Redwood offers to enjoy all the benefits of a type-safe codebase. You can use TypeScript and have great DX too.
๐๏ธ Webhooks
If you've used Automate, IFTTT, Pipedream, or Zapier then you're familiar with how webhooks can give your app the power to create complex workflows, build one-to-one automation, and sync data between apps. RedwoodJS helps you work with webhooks by giving you the tools to both receive and verify incoming webhooks and sign outgoing ones with ease.
๐๏ธ Webpack Configuration
Redwood uses webpack. And with webpack comes configuration.