The list of things that still need to be addressed in the Flask app:
[ ] Running on AWS beanstalk - deploys w/o issues, but doesn't connect to the Flask app. Here's an example of a very basic beanstalk app.
[ ] Tests for beanstalk (see #1) - we can setup beanstalk to run periodic tests. There is already a test script for running the processing, but adding some basic tests (b/c of how many parameters there can be) for the actual web app would also great.
[ ] Login and users - we need some way of restricting access/recording user activity. This requires setting up a small database on AWS (example)
[x] Email service - send email to user w/ link to S3 bucket for downloading. We should use SES since it's pretty much free for the extent of our usage.
[ ] User-restricted access to output data & time-limits - Output data has to be accessible to only the registered user, and needs to have a time-limit so we can auto-delete data. This sort of goes through assigning custom IAM roles. This one is a bit more specific for S3 buckets.
[ ] Delete the input data upon finishing the processing - easy, just needs to be coded in
[ ] Get the input form working - There's an outline of all of the parameters (up until ~ February's changes). I was trying to get add some javascript so certain forms are hidden when others are not toggled. It shows them when toggled the first time, but won't hide them again when untoggled.
The list of things that still need to be addressed in the Flask app:
@celery.task
might be the easiest way to do that (https://github.com/paltman-archive/django-pdf/blob/master/pdf/tasks.py)