Autumn Community App Challenge

The data set used has been modified on August 29. Please read the note below.

Hi Community Members,
We are officially launching Plotly’s Fall App-Building challenge, where we invite the community to build the most impressive multi-page app with the new Dash Pages feature. The new data contains the spirits purchase information of Iowa Class “E” liquor licensees by product and date of purchase.

Given the issues with original supermarket sales data set brough up by the commuity, we are replacing it with this new Liquor sales data. For those that have already started working on a Dash app with the supermaket data set, that data will still be accepted for the challenge, so feel free to submit your apps with that data.

The Data Set:

If you prefer to build an app with a smaller version of the data, please download this liquor Iowa - 2021 - 50 thousand rows.

Usage of the full data sets are welcome as well.

To enter the Community Challenge, please download the data you would like to work with, create an app, and share it by replying to this Forum topic or by sending me a direct message before midnight Sunday, October 2. Please share the code used. Also, please share a link to the deployed app, if possible.

The winning apps will be judged according to the following categories:

  • App creativity
  • App design
  • Data exploration
  • Data science or data analysis routines (eg numerical methods, machine learning, prediction, classification, optimization)

First place prize: $125 US dollars

Second place prize: $75 US dollars

Third place prize: $50 US dollars

The winners will be announced in the next Dash Club Dispatch (October).


App Example:

:pray: Thank you @Milan for submitting the first app to this challenge and for allowing me to showcase it.

autumn-app-image

GitHub repo for code:

More example multipage Dash Apps.

10 Likes

Hi! I know the competition started and all but I don’t think this dataset is very good, it seems to be fabricated and the insights we can get from the dataset are pretty limited.
kaggle discussion about why the dataset is problematic:

what do you guys think?

1 Like

Hi,

Yeah, you are right, I took a look into the data before seeing the comments on kaggle and came to the same conclusions. You can just delete a bunch of columns and it is not going to make any difference.

From a data science perspective there might be not much interesting about it.

1 Like

Thank you @AIMPED Thank you @Matan
I’m looking into the data set again right now. I will return with more details later today.

1 Like

Thanks Adam!
While I was building this app, I had a lot of fun. New Dash multi page functionality is so cool feature.

5 Likes

Having fun building an app for this challenge. This is going to be awsome!

4 Likes

Hi @adamschroeder, first of all thank you for creating this challenge. I would like to send my multiple page app that I deployed.
Here is the link to the app, and below is screenshot of my app:


And here is my github repo for this app.

Thank you so much.

5 Likes

Thank you for the submission, Tran (@hoatran),
Very nice use of Pages with Dash, and I really liked how you used Dash-leaflet to find stores on a map :+1:

2 Likes

@adamschroeder : Thank you. Btw I have a question that have you ever tried to add dcc.Download and deploy to heroku? It worked in local but did not worked in heroku so I had to use Export instead of Download.

HI @hoatran,
No, I’ve actually never tried adding dcc.Download and deploying to heroku.
What kind of error did the heroku logs give you?

@adamschroeder: I forgot to check logs. It’s just updating and nothing happened. I will try to deploy again with Download and send you logs.

1 Like

Hey @hoatran , app looks great. I like map that you created, looks amazing!

4 Likes

@Milan: Thank you so much, your app with filters on modals are great too. I will refer it for my future projects.

2 Likes

Hi @hoatran, thanks for sharing your app!
I have used dcc.Download before and deployed it to Heroku and was working so maybe I could help you solve whatever issue you’re having :slight_smile:

3 Likes

@jhupiterz: Thank for your response.
Below is my code to update table and Download:

@app.callback([Output('table','data'),
               Output('store_date','data')],
              [Input('btn_6','n_clicks')],
              [State('my-date-picker-range_6','start_date'),
               State('my-date-picker-range_6','end_date'),
               State('stores_2','value'),
               State('category_2','value'),
               State('items_2','value')])
def update_table(n_clicks,start_date_6,end_date_6,store,category,items):
    global df_table_2
    df_table_2 = df_table[(df_table['date'] >= start_date_6) & (df_table['date'] <= end_date_6)]
    if store != []:
        df_table_2 = df_table_2[df_table_2['store_name'].isin(store)]
    if category != []:
        df_table_2 = df_table_2[df_table_2['category_name'].isin(category)]
    if items != []:
        df_table_2 = df_table_2[df_table_2['item_description'].isin(items)]
    return df_table_2.to_dict(orient='records'),df_table_2.to_dict(orient='records')

# Download not work on Heroku
@app.callback(Output('download_1','data'),
              [Input('btn_7','n_clicks')],
              [State('store_date','data')],
              prevent_initial_call=True)
def generate_excel(n_clicks,n):
    df_table_3 = df_table_2.copy()
    if n_clicks > 0:
        return dcc.send_data_frame(df_table_3.to_excel,filename='Data_table' + ".xlsx",index=False)

So my idea is use dropdown and Submit Button to update table then send it to Store. After that I will use Download button to download data that sent to Store. It worked in local but in Heroku, it was just Updating and nothing happened. Can you share link to your app or repo for this. Thank you.

@adamschroeder and @jhupiterz Below is the logs when I click Download:

I think that maybe global is not an ideal for this case.

@hoatran Thanks! I like putting filters in modal, it does not occupy too much space on default view (only one button) and looks fancy when button is clicked :slight_smile:

2 Likes

Hi all,

here is the link to my github. I might try to deploy my app, but I’m not sure if I get it working until the deadline :see_no_evil: :rofl:

I actually challenged myself trying new stuff and getting a bit deeper into some details. Constructive feedback is always very welcomed.

3 Likes

hi @AIMPED
Very nice usage of Dash_Leaflet. I really like the feature that allows you to zoom in and see more markers on the map. When all the map coordinates are displayed at once, it makes it overwhelming.

I’ve added a screenshot of your app:

1 Like

Thanks for the screenshot, could have thought of this myself :slight_smile:

Credit must be given to @Emil for the marker clustering, it is indeed a nice feature!

2 Likes