Redwood Applications Development Cookbook

This topic is being initially managed outside this discourse document in a repository RADC - Redwood Applications Development Cookbook.

Please check the RADC repository issues to find more detailed information on what is being discussed, summarized, etc. Upon common agreement, the continuation will be in this original Discourse discussion.

A few brief explanations:

  • I am proposing to conduct the initial discussion, questions, offer better ideas etc. in the RADC repository rather than in this thread. I am expecting lots of comments (being always optimistic) so this can be scaled better in a whole repository than in a single Discourse thread.

  • Since we have pretty diversified communication channels, I am proposing to send all information about an article you want to contribute in an email to (this is a temporary email address until we create Redwood owned infrastructure (probably when @thedavid returns back.

  • The existing content in the how to section of the Redwood tutorial is likely to become a part of this cookbook.

  • Please use the pattern below to define your contribution (it lists the contributors name, the content of the contribution and the tools to be used). While this Cookbook is initially focused on code created in the Redwood Tutorial, this is not an absolute requirement.

  1. adriatic

Update on May 24, 2022

The original Tandem Application is retired as of this time, announcing only that the transition to the RADC is being prepared:

Update on May 29, 2022

Time for a real (while small) celebration is in place: a very real first article by @realStandal is deployed to: how to reinstall RW?. Note that it would be hard to find an author with a better github name than @realStandal. :grinning:

RADC as created on May 29


It is quite difficult to estimate the community interest for this project. Initially it was not clear (at all) what is the aim of this project. In discussion with several core team members I was told that there is a fear to load the core team with another, not existing until recently, large documentan project. Let’s remove that fear.

The main point of RADC is to organize RW customers (developers not on core team) to write additional documentation from the application developers views and interests. This approach (if succeeds) will make RedwoodJS even more appealing to folks, targeted by RW’s motto:

Redwood is the open source, full-stack web framework designed to help you grow from side project to startup.

Update on June 1, 2022

Due to lack of any response by anyone, I will complete the article tracing code so I can share my ideas on how a “cookbook” article could be written - including the full script (see the script for the movie Big Sick as an example what a script is; the script for tracing code will not be as detailed, and I will use the critical eyes of @dthyresson for the criteria of how detailed it will be :smiley:

Note: the script will be written in RADC Wiki - as a script for application tracing article.

Update on June 8, 2022

How quick the time flies :blush: it’s already June 8, and I spent all the time since last update learning Stripe, so I could join the Redwood Stripe project. I will be back here as soon as I make at least a small contribution there.

Update on June 12, 2022

As I took a sidestep to help with remaining issues with Redwood Stripe integration and Redwood Stripe example store projects, I run into pretty nasty problems in the React sections of the code. What a great example to show the efficacy of the debugging this code in the situation where I have no idea what went wrong (most likely a bad invocation of React runtime).

Since this issue is a great fit for this RADC I wonder whether somebody would like to participate in this nearly live exercise? If yes, please state your interest in the reply to this notice and I will create a full post on this

Update on June 20, 2022

After spending several weeks trying to help the example store stripe project, I run into several issues that led me to believe that I need to revert back to RADC and share my new learnings about Stripe Redwood integration and the use of PostgreSQL tools in the process of installation / uninstallation of PostgreSQL: The World’s Most Advanced Open Source Relational Database.

Update on June 24, 2022

Finished the draft of the article Install PostgreSQL - it might be of use to anyone like @Isaac-Tait who needed more information about installing and using PostgreSQL database, than what is available in the RedwoodJS Tutorial.

Update on June 27, 2022

This RADC project is still around, mildly comatose, because I did not provide enough article that would indicate the intent for writing them. So far, there are five developers, stating interest to work on new articles:

  1. @zpeters
  2. @WoodRex
  3. @realStandal
  4. @metanoiaweblabs
  5. @adamjohnlea

Even 20% success in my initial role as a community organizer:

Community organizing is a process where people who live in proximity to each other or share some common problem come together into an organization that acts in their shared self-interest.

will get RADC forward - so please step in contact me any way you prefer and propose any article that you find of use to the community of Redwood application developers.

RADC discussions will continue here once we reach a good definition of this project in RADC repository.


@adriatic please add our recent work on reversible generators to your RADC repository

I’m looking at this thread: Scaffold generator does not generate stories or tests

I don’t know where to link this person to our hopes - reversible should also mean upgradable?

Side remark
When proposed first time, I genuinely hoped that acting as the organizer for RedwoodJS users (warning - not including Core team members, out of respect for valiant efforts by RW Founders to maintain Core team focus), my services would be welcome to a handful RW developers that would be able to find some free time to propose and create a few Redwood applications in the tutorial form - like Create Redwood-Stripe app from scratch, written by RedwoodJS app developer @Standup75.

Response to Allen
Hello, @ajoslin103 There is another discussion thread - Monterey: On reversible rw app creation, which may connect to the discussion Scaffold generator does not generate stories or tests initiated by @craineum with opinions from @rob, @thedavid and @MichaelrMentele.

As I understand, Michael discusses the possibility of retaining the generated stubs (in the test and story sub-components) for possible reuse at a later time. While this is an oversimplification of Michaels discussion, it still leads in the domain of the “Monterey discussion”, which is describing the possibility of a smart undo / redo along the app’s lifecycle.

@ajoslin103 immediately recognized that using GitHub API with some smart code, such undo / redo is in the realm of possibility. Since @craineum seems quite enthused (see his remarks here) and because I know that both @ajoslin103 and myself are still in such mental state. It is even possible that we could appeal to @PantheRedEye who wrote this opinion discussing the Monterey project idea.

Note that @rob expressed a similar view here as:

Our thought was that most folks will end up customizing or throwing away the scaffolded pages as they build out their app. Several of us on the core team are seasoned Rails developers (the framework that inspired the scaffold generators) and none of us had used the Rails scaffold generators in years. It’s very impressive for new developers, or when rapidly prototyping something, but once you’re used to the framework and know what you’re doing they seemed much less useful.

This post is an invitation to @PantheRedEye, @ajoslin103 , @MichaelrMentele (attn: @thedavid) to visit these “links to recent history” and decide whether some of us would join forces in planning this project.

For @ajoslin103 only: please check Fig Getting Started, and Fig Redwood. This tool could allow us to build our prototype without any hacking Redwood CLI. The section on Executing Shell Commands reveals more useful details.

I don’t know where to link this person to our hopes - reversible should also mean upgradable?

Yes, I think so.