rssiweb / phoenix_backend

0 stars 1 forks source link

Need flexibility to choose sending report via email or just download it OR you can store the report into somewhere under application too (Inbox under application). #29

Closed sahasomnath closed 5 years ago

sahasomnath commented 6 years ago

As we are treating here email ID as JUST an USER ID so we don't want to make this dependency a mandatory one. The feature you have introduced that's definitely a good one, we value it. But forcefully we can't put it every where. We always want to make the features user friendly. here just to take a simple information user has to login into their email. we can put it as optional OR we can put it some where where its required.

Please zee, don't make it an ego issue as we value your knowledge and your capability. Please consider it as our humble request.

zkhan93 commented 6 years ago

There is no ego involved, it's just that sometimes you try to enforce your ideas without understanding the architecture which, I believe won't be good (from a technical perspective) for the website in long run.

Downloading a report in one request is a bad idea, due to the following reasons: 1 - The requested report must be generated within one request cycle. 2 - If the connection drops for that requests all the work done to generate the report is useless 3 - the above two points will also hit the scalability and response time of the website

Yes as I mentioned earlier on the call, one alternative is storing it under the users' account. For this below are the points we need to think upon: 1 - How long you want to store the generated report? typically one report costs ~2MB 2 - Since all you want is free services, there is no free storage service available on Heroku 3 - The max time a report can stay on the server is not guaranteed since Heroku trashed all the data on the disk when the website is left ideal for few minutes 4 - For a session, I can try to build it but again it is not guaranteed that the report will be present since the storage is not reliable, this will lead to a poor user experience

I also suggested verification of Email address can be one solution, also only admin has the rights to add new accounts so it is quite okay to send data to these emails, still, if you don't want data to be shared across consider restricting critical reports to admin only.

sahasomnath commented 6 years ago

Thank you Zee for detailed explanation.

I would love to go with the below idea. Please do the necessary to proceed with that. I am fine with sub point 4. Better if we can keep both option here, via email and within the user account for a session.

We can mention the min time you are expecting report would be there under user account. so that user knows whats going on and he/she can download the report and can save it to his/her system. I am aware about that features as most of application available in market follow the same to ensure data security and to remove redundant data.

Yes as I mentioned earlier on the call, one alternative is storing it under the users' account. For this below are the points we need to think upon: