rails-templates icon indicating copy to clipboard operation
rails-templates copied to clipboard

Improve add-ons asking prompt

Open gutakk opened this issue 4 years ago • 4 comments

Why

Right now our Rails template ask for Yes or No for every single add-ons. It is not make us feel annoyed that much as we have 5 add-ons at the moment. But imagine if we have more than 10 add-ons, it is gonna be a bad time.

Who Benefits?

  • Everyone who initiate the app using Rails template

My Opinion

How about if we prompt something like this

Would you like to add following add-ons? 
1 : Nginx
2 : PhraseApp
3 : Devise

Enter your prefer add-ons (only number separated by space): <user input>

For example if we want to add Nginx and Devise then just simply type 1 3

Any other ideas are welcome

gutakk avatar Oct 21 '20 09:10 gutakk

Instead of asking for all addons, how about we separate the question for each addon group @gutakk ?

What would you like to use for Front-end stuff? (single choice)
1. Boostrap
2. Tailwind
3. ....

What would you like to use for provisioning? (single choice)
1. Heroku
2. AWS
3. ....

https://railsnew.io/ is a good example

andyduong1920 avatar Oct 21 '20 11:10 andyduong1920

it is a good idea if we can make sure that we have to choose only one addon for each addon groups. I'm not sure if we will have the scenario that we need to choose more than one addons in the same addon group? If we have that scenario then this way is not the good idea IMO.

What do you think @andyduong1920

gutakk avatar Oct 21 '20 11:10 gutakk

it is a good idea if we can make sure that we have to choose only one addon for each addon groups. I'm not sure if we will have the scenario that we need to choose more than one addons in the same addon group? If we have that scenario then this way is not the good idea IMO.

What do you think @andyduong1920

The group should be separate by category so it must be single choice per each group @gutakk

andyduong1920 avatar Oct 22 '20 02:10 andyduong1920

If we don't have scenario that I mentioned then I agree with your solution @andyduong1920

gutakk avatar Oct 22 '20 07:10 gutakk

Are we going with add-on group solution? With current available addons, most groups would have only one option.

What would you like to use for Front-end stuff? (single choice)
0. None
1. Bootstrap

What would you like to use for CI/CD? (single choice)
0. None
1. SemaphoreCI
2. Github Action and Wiki

What would you like to use as a web server? (single choice)
0. None
1. Nginx

What would you like to use for localization? (single choice) 
0. None
1. Phrase

What would you like to use for authentication? (single choice)
0. None
1. Devise

What would you like to use as a template engine? (single choice)
0. None
1. Slim Template Engine

What would you like to use for making dynamic UI ? (single choice)
0. None
1. Hotwire

Please suggest any better wording of instructions. With current available add-ons, It seems it would be more annoying for user to go through all these questions.

Suggestion: Until number of add-ons increases, we can go with the alternate solution suggested by @gutakk.

Also, it can be a good time for adding some add-ons for users to choose eg. Tailwind, Heroku, Fly and go with add-on grouping solution.

Looking for your suggestions @andyduong1920, @gutakk

mosharaf13 avatar Jul 06 '23 04:07 mosharaf13

From my understanding, this change would only benefit to the GitHub vs. SemaphoreCI question, but all the other question would take 3 lines instead of a single (y/N) prompt...

Should we revise this issue to only ask 0. / 1. / 2. for None/Semaphore/Github, and keep the other questions unchanged? 🤔

Or should we just close this issue?

cc @andyduong1920 / @sanG-github (as you contributed on the prompt :) )

malparty avatar Dec 14 '23 07:12 malparty

I had a quick discussion with Andy and Sang. We agreed that the current prompt (especially since all the questions are asked ahead of the app scaffolding) is OK and so I'm closing this issue to keep the backlog clear :) Thanks

malparty avatar Jan 11 '24 04:01 malparty