I need an app in Python's Flask, using SOCKETSIO. Somewhat similar to this:
[login to view URL]
The following changes:
1. When user gets to index page, he is displayed two entry fields (A) = Maximum Number, (B) = Filter Number.
2. User inputs a number into (A). He can leave (B) blank, but can also input it.
3. User clicks Submit Button.
4. In the background, a new thread is started based on input A. It fills a Pandas DataFrame with random integers no more than entry in A. Let's make's it a 4 x 4 DataFrame (4 columns and 4 rows). It should regenerate every 10 Seconds, say.
5. The submit button takes a user to a new page, say /app_data. On it, the dataframe is displaye d(using SOCKETSIO it should update once a new dataframe is generated in the background every 10 Seconds). Don't worry about styling the dataframe, pd.to_html() should be fine.
6. If (B) is not empty, then the background thread should filter the dataframe for only numbers in the first column bigger than B.
7. The tricky part: I will need multiple users connecting to the app. If a user selects the same input in (A), then there's no need to start a new thread. This user can listen to a thread already doing the job (for another user), but filter it customly based on (B). Maybe Rooms can be used for that.
8. So if (A) takes 10 values (say numbers from 1 - 10), then a maximum of 10 threads can be running.
9. But say if user1 input is (A) = 5, (B) = 2, user2 input is (A) = 5, (B) = 3, then they should listen on to the same thread but just filter the data to be displayed differently.
10. I will need this app to be accessible to any user (if they type my IP or something). Also please make this flexible as I'll be changing the parameters.
Please Read the above and tell me:
1. Do you have experience working with Flask and SOCKETSIO before?
2. How will you handle point number 7.
3. How long will it take you to do it?
4. How much would you charge?
Please answer the 4 above questions, otherwise your option will not be considered.