opensourcecatholic / marriage-booklet

To help Catholic couples plan their wedding mass
4 stars 2 forks source link

MVP - Minimum Viable Product #13

Open kas-catholic opened 3 years ago

kas-catholic commented 3 years ago

Getting the core functionality of a webapp done early is often beneficial - it often uncovers additional info about the best way to do things, and it provides a way to get early feedback about what works well and what doesn't.

Fundamentally, I think our MVP is pretty simple - allow the user to enter form data like names and reading selections, and then provide a download (PDF?) when they hit a "Generate" button.

In code, this can be implemented easily with an HTML form, and a single POST request that responds with the generated PDF. User accounts, persistent data, etc is good functionality, but not a critical part of the core experience to generate a booklet. (I'm not saying we shouldn't build those things, just that perhaps we shouldn't build those things first.)

Is my understanding roughly correct? If so, perhaps we should think about building this MVP first and then add the other stuff on top of it.

cc @JohnRDOrazio @mftruso

JohnRDOrazio commented 3 years ago

My thoughts exactly! I think we should have a "welcome" screen from which you can "start" a project. When you start the project, you will have a form with the basic data needed to get the project started. Then the step-by-step process of being presented with choices for each part of the liturgy. Even this MVP will require having defined the i18n approach, because the form with the base data needed to start the project might change slightly from language to language (for example in English only "Best Man" and "Maid of Honor" would be needed, while in Italian there would be around three "bridesmaids" and three "groomsmen")

JohnRDOrazio commented 3 years ago

So PR #18 should be kind of a start. I started putting together a form where a user can start creating a booklet project.

The form should already have some Tailwind styling, but I haven't tested it against Tailwind yet, I just kind of eyed it based on some Tailwind example forms.

Once PR #16 is completed, it will be easier to test the Tailwind styling.

Also, the form isn't complete. It still needs to be able to dynamically define the wedding party. I'm not sure if this should be done with JavaScript / jQuery (like an ➕ button which will add a new row where you can define a new member of the wedding party), or if there is more of a "rails" way of doing this?