Ensure the tutorials can be run without the CLI
### Problem to solve
(Summarize the problem we are trying to solve in the form of we need to do [A], so that [B] can [C])
* [ ] As a user I would like to be able to initialize my project and configure what to extract, load and how to transform and would like to get as little configurations on my side as possible. Please note we don't need a demo, we need a full tutorial of how that process will work, i.e. we need to create a model file, etc : https://gitlab.com/meltano/meltano/blob/42a599928b9393a0873d9eec1c4cb383bc69f391/docs/src/docs/tutorial-salesforce.md
### Target audience
(For whom are we doing this? Include a persona)
* [ ] Business analyst with limited technical knowledge
### Further details
(Include use cases, benefits, and/or goals)
* [ ] Allows non-technical users to explore our product & lowers the barrier of entry to using the product
### Proposal
(How are we going to solve the problem? Try to include the user journey)
**Objective**
The current hypothesis is that a data or business analyst at a small company, who doesn't have much technical experience will be interested in an open core data solution. If that hypothesis is true, we assume that an analyst will require a UI where they can interact with all the functionality they require to get data from a source to analyzable format or tool. They should be ok to use the terminal only for the commands 'pip install meltano' and 'meltano start'. Since we assume that the data team at a small company wouldn't be able to address all analytics needs of the company, we would need to help that person enable self service. Since we need docker, to spin up a postgres database in order to follow the tutorial, unless we assume that users already have that, we should probably also still have that as a one-off command.
**Success Metrics**
| Goal | Metric |
| ------ | ------ |
| Validate hypothesis that a data analyst will be interested in a UI with the existing CLI functionality| Increase in MAUI and returning users |
| Validate the tool can do something valuable 'for me right now' and if not understand what that is| Increase in MAUI and returning users |
**Core Components**
| Component | User Story | Additional Information & Questions
| ------ | ------ | ------ |
| Initialize a project| As a data analyst that is not well versed with the CLI tool, I would like to be able to start the UI with `meltano start`.| What this means to me is that I don't need to initialize a project myself but a UI will open on that command and I can proceed with next steps|
| Add/remove an extractor| As a data analyst, I would like to be able to see all available extractors as thumbnails and select which ones I would like to set up or remove| Upon clicking on an extractor, a small window would pop up with the required credentials I need to fill in, which will be saved for the future|
| Add/remove entities for each extractor| As a data analyst, I would like to be able to see all available entities for each extractor in a dropdown menu, where I can select what to extract| Upon clicking each extractor, it can turn the thumbnail and show a dropdown list of each field available as per the `meltano select tap-salesforce --list --all`. By clicking on each thumbnail we could quickly see common fields to select|
| Add/remove a loader| As a data analyst, I would like to be able to see all available receivers as thumbnails and select which one I would like to set up to use or remove| Upon clicking on an extractor, a small window would pop up with the required credentials I need to fill in, which will be saved for the future|
| Extract and load| As a data analyst, after I have selected the fields I want to extract and where I would like to load them, I would like to be able to run that by pressing a button or dragging and dropping| How does this currently function? We load raw data and then reload again in different tables the transformed analytics tables? The way this looks will change based on the orchestration style we decide to go to. In the beginning it might be just represented by a 'run' button|
| Transform| As a data analyst, I would like to be able to transform my data in a web interface. I should also be able to see the data lineage in a subcomponent of that page| Given dbt is the the tool of choice for now, we should have the transform as a separate page, where the analyst can write any sql transformations and run them, see the docs and update them (https://gitlab-data.gitlab.io/analytics/dbt/snowflake/#!/model/model.gitlab_snowflake.date_details). Can we expose this information in the app and have an sql runner? Where I can edit and create new transformations? Where does this currently happen in the user flow?|
| Model & Analyze| As a data analyst, I would like to enable self service for anyone in the company - I need to be able to do this last preparation step in the UI as well| At the moment, in order to analyze the data, you need to first create Meltano files. Are these something that we would like to keep? Is there no other way to enable versioning and clearer dimension & metrics definition? If I want to add additional transformations on the fly, do I need to get back to the sql runner? I need to be able to see different tables and keys to interact with my data on the fly similarly to Tableau Prep, Google Expolorer, etc|
| Install additional extractors and loaders| As a data analyst, I would like to be able to easily set-up more extractors and receivers | This should be a replication of `meltano add custom [ ]', which flow @mbergeron is currently going through and we will revisit|
### What does success look like, and how can we measure that?
(Define both the success metrics and acceptance criteria. Note that success metrics indicate the desired business outcomes, while acceptance criteria indicate when the solution is working correctly. If there is no way to measure success, link to an issue that will implement a way to measure this)
* [ ] A user will be able to go through the Salesforce tutorial with no CLI interaction (except for the initial installation)
### Links / references

_Please note that this was taken from GitLab, to be changed accordingly_
https://gitlab.com/groups/meltano/-/epics/21
(cc: @dmor )
epic