An enhanced web framework (based on Flask) for use in the capstone project. Adds robust user authentication (via Globus Auth), modular templates, and some simple styling based on Bootstrap.
Directory contents are as follows:
/web- The GAS web app files/ann- Annotator files/util- Utility scripts/apps for notifications, archival, and restoration/aws- AWS user data files
Name: Vipin Mourya CNetID: vipin
This submission completes A10 by fully decoupling the web and annotator tiers. The web application now handles file uploads to S3, updates the DynamoDB table, and sends job messages to a SQS queue. The annotator tier runs independently in the background, consuming SQS messages, running AnnTools, and uploading results.
- Globus Authentication: Hardcoded users have been removed.
- The system now extracts the authenticated user's ID from the session and uses it for all S3 prefixes and DynamoDB records.
- Configuration Files: All hardcoded AWS resource names (Buckets, SQS Queues, DynamoDB tables) have been migrated to configuration files.
- The web tier uses
config.py. - The annotator tier uses
annotator_config.ini.
- The web tier uses
- Background Processing: Both the Flask application (
run_gas) and the Annotator polling service (annotator.py) are running in the background usingtmux.
- SQS Queue Name:
vipin_a10_job_requests - SNS Name:
vipin_a10_job_requests