Summary: I need an AWS expert / web application developer to build an AWS-hosted database with a REST API. It should enable secure access to the database via specific Android apps on the data upload side and an Excel viewer on the reporting side (N.B. you are not expected to build the Android apps nor the Excel viewer). In addition, you should build or integrate a basic web app with a simple UI for "helpdesk" staff to access and manually change the Android user-generated data in the database.
Context: For an NGO in Bangladesh, I am managing a project for which we are creating two Android apps, which dispersed field staff will use to sync sales reports and activities back to a central database. The NGO's managers will be able to access this information through an Excel viewer, as well as receiving alert emails, so that they know what is happening in the field.
More details of the tasks involved:
1. Discuss with me if the following sequence makes sense on AWS, and suggest & explain any changes which you feel will improve or simplify the project. Then, subject to any agreed changes:
2. Open a free-tier Elastic Beanstalk application using my account, with a database and an object-oriented web application framework. (I will create an ID for you to access my AWS account). Alternatively, if you feel there are good reasons to do so, open “micro” instances of EC2 and RDS, and set it all up manually.
3. Create tables in a new database called "xyz_dev", matching example tables that I will have provided to you. Then create a REST service for the “xyz_dev” database, using an existing framework that supports the creation of REST APIs.
4. Deploy standard web-application security and stability/recovery measures (e.g. automated backups & snapshots, load balancing, password policies, encryption keys, firewall, etc. I have zero expertise so we will need to discuss this topic, and I will rely on you to suggest and implement a sensible solution.)
5. Help to trouble-shoot a few SQL scripts. I will write the SQL scripts, but my SQL skills are "rusty" so I may need support for specific issues. Some scripts will create reporting tables (e.g. sales per region per week, number of beneficiaries reached, etc.), and other scripts will verify if specific alert conditions have been triggered (e.g. list field workers who have recorded zero activity during the previous day).
6. Configure SES to send emails to various email addresses when these reports are created and these alerts are triggered. (e.g. notify the relevant manager if one of his/her field workers has recorded zero activity during the previous day; or notify the whole management team when the main reporting tables have been updated, once a week.)
7. Help to trouble-shoot VBA and REST-connection issues for an Excel viewer tool for the managers, which I will have created. (The tool will have drop-down lists, it will pull relevant information from the reporting tables in the database into a hidden worksheet, and it will then manipulate and display this information in appropriate summary tables & graphs.)
8. Create (or integrate an existing open-source) web app which:
o Allows Helpdesk staff to view & change user details, add new products to the database, edit transactions, etc.
o Allows users to change their own passwords, view & change their own transaction data, etc.
o Allows Helpdesk staff to track issues in a Helpdesk issue-tracking app.
9. Work with the Android developer to integrate the syncing of the Android apps to and from the database.
10. Create an updated “xyz_test” version of all of this every two weeks, so that it can be tested by the NGO's internal pilot team, while we continue working on new features & fixing bugs on “xyz_dev”.
11. Towards the end of the project, create a “xyz_prod” production version of this (probably as a "small" instance, not a "micro" any more), so that we can pilot and deploy the system across the organization.