open-sauced / app

🍕 Insights into your entire open source ecosystem.
https://pizza.new
Apache License 2.0
410 stars 217 forks source link

[Design] Design a Reports Page #92

Closed eryc-cc closed 2 years ago

eryc-cc commented 2 years ago

Ideal:

What we want to be able to do:

To scope:

eryc-cc commented 2 years ago

@bdougie @chadstewart

What kind of data are we looking to show on reports? Is it granular data? Is it an expanded version of the Dashboard?

Should we wait for DigitalOcean to tell us what they need to be reporting, so we can implement what they need?

bdougie commented 2 years ago

We will need to design for two options. The first is

First option CSV

Second option infographic (pdfs and tweets).

This will more likely be shareable infographics similar to the octoverse. For this we will provide our opinions and only 1 or 2 options.

  1. Contributor growth over time (up or down)
  2. New contributors over time
  3. Contributions from org members vs outside contributors

side note: I grabbed the url oss.fyi to potentially make that the short URL for the shareable infographics.

bdougie commented 2 years ago

Ok, here is my thought. We can leverage the above to provide an SQL builder similar to Supabase (pictured below).

The thought is that we can let you generate your own CSVs, but provide some templates to get started. Let me know your thoughts @pixelsbyeryc

This might mean the info graphics are one-off and non-editable queries, but folks could potentially start there.

supabase sql editor

Screen Shot 2022-07-26 at 9 34 51 AM

supabase sql templates

Screen Shot 2022-07-26 at 9 35 29 AM

eryc-cc commented 2 years ago

@bdougie I have some other questions:

  1. How customizable do we want to make this data?
  2. And do we want to provide a CSV with everything that we have?

In terms of the UI and the flow, how should we approach it?

bdougie commented 2 years ago
  1. We won't make this customizable to start, we just need to present the SQL based on the opinionated reports we will provide. Perhaps we don't show the SQL at first or hide it behind a "show the SQL" feature.
  2. Yes, but it will need to be limited. There is a natural timeout in SQL, so the limit would be 10k rows (or similar). We should probably encourage folks to narrow thee repos or data in a tool tip or warning.

Hopefully this is helpful and not more confusing.

eryc-cc commented 2 years ago

@bdougie from Slack:

to start, we want contributions grouped by contributor.

Question

Page Flow

There is a natural timeout in SQL, so the limit would be 10k rows (or similar). We should probably encourage folks to narrow thee repos or data in a tool tip or warning.

I’m thinking about the flow of the page… Should it be:

  1. User selects the repos they want to see data from
  2. Gets warning if it’s over 10k rows *
  3. Button comes up to download PDF/CSV

How are we going to generate reports (in the backend)?

Is it on-demand, like PayPal does (screenshot below)?

In this case, we would need to store the PDF/CSV they requested, and show a list of previous exports in the UI, right?

And it’d be best to indicate whether they can generate reports or not, based on their rate limit (eg: they just clicked to export, so they can’t generate new reports until their current report has done processing)

image

bdougie commented 2 years ago

I just double checked and it's 1000 rows not 10k limitation. Just an fyi. It seemed high so I double checked.

https://www.w3schools.com/sql/sql_top.asp

0-vortex commented 2 years ago

1000 is also supabase limit atm

bdougie commented 2 years ago

Quick follow up. I spoke with Terrence today and he mentioned that we will receive a raw postgres URL that we can pass to SQL queries. Basically this mean that we can generate reports on just about anything we have data for. So we are in moving in the right direction by eventually providing a custom SQL editor.

I think we will provide this feature to only paying customers. Custom SQL scripts will be a higher paid feature, mainly because we will provide them dedicated indexing (every minute, but we will see when we get there).

eryc-cc commented 2 years ago

@bdougie @chadstewart

I have 3 screens for the reports, let me know if I need any others.

Here's the thought process:

Screen 1

Reports v1 Design@2x

Screen 2

Reports v1 Design@2x-1

Screen 3

Reports v1 Design@2x-2
bdougie commented 2 years ago

I think this is a good first pass. Here are my initial thoughts.

  1. It should state "Contributions" instead of "Activities"
  2. We don't need the "Pre-defined." Instead we can name this "Contributor Insights." Reports are inferred.
  3. We can include the opinionated filters as options for reports.

For these "Contributor insights," reminder this is what we are providing.

eryc-cc commented 2 years ago

For these "Contributor insights," reminder this is what we are providing.

  • Contributor growth over time (up or down)
  • New contributors over time
  • Contributions from org members vs outside contributors

I created new issues... We need to scope the information we want to show on our PDF Reports, and then design them:

  1. What options should we give them?
  2. When we say “contributor growth over time”, how much time are we scoping? Last 30 days? Last 90 days?
  3. And should we give them a datepicker to choose from?
  4. Should each of these options be their own page, with more options to filter? Eg: I want contributor growth from Jan 2022 to Aug 2022 from repos X, Y, and Z?
bdougie commented 2 years ago

When we say “contributor growth over time”, how much time are we scoping? Last 30 days? Last 90 days?

I think we should limit all results to 30days or MTD (month to date starting with the 1st of the month)

For now (because scope) no customer date picker or further options.

eryc-cc commented 2 years ago

Okay @bdougie I'll get it polished for tomorrow. 🙏

eryc-cc commented 2 years ago

According to a conversation me and @bdougie had, we're going to ship 2 versions of the Reports Page:

  1. For Digital Ocean (during the Hacktoberfest event)
  2. For the Insiders group

Hacktobefest Version

Reports v1 - Digital Ocean@2x

Insiders Version

Reports v1 - Insiders - Your Reports@2x Reports v1 - Insiders - Generate Reports@2x