macOS Swift app to check an Amazon SQS queue

Completado Publicado hace 7 años Pagado a la entrega
Completado Pagado a la entrega

Need a very simple application, just a proof of concept application that will run on the macOS, check an Amazon SQS queue for message, and if one exists, launch a script.

This app should:

1. Run and show its icon on the menu bar as a background application

2. Have a preferences panel to input configuration (detailed below)

3. Check the queue every X minutes

4. If a message is detected, launch a bash script (this can be a simple Hello World demo)

the preferences panel should have entry blanks for the following:

Amazon credentials

the SQS arn to check

Entry blank to set how many X minutes to check the queue

The path to the bash script to run

That's pretty much it. We're not doing anything with the contents of the message, and the bash script is demo.

Preferable to use latest Swift, we'll be using latest Xcode to compile here.

The project has changed, Amazon doesn't have an SDK for MacOS so instead we will use a RESTful API call.

Here are complete specs:

1. The project should be a Swift 3 project. The purpose of the project is to check a queue, and if any message exists in the queue, launch a bash script.
2. The app is a small menu bar application. When launched, an icon will appear in the upper right menu bar by the clock. (You can use a default icon for now, we don't have an icon to provide.)
3. The app should have a dropdown menu that will contain three items (with their purpose):
- Check now (to force the check to happen immediately)
- Preferences (to show the configuration panel)
- Quit (to quit the application)
4. The preferences panel should have the following confirmation items:
- The REST URL to check
- The username
- The password
- A Textbox to enter the number of minutes between each automatic check (default 1)
- The path to the bash script to run
5. The REST URL provided will return a small JSON message with a single entry,
{
"id": 90483
}
if No ID is available, the REST URL will return an empty string
{}
6. If the application receives an empty string, or a connection failure of any kind, it should simply ignore it and do nothing. It is important that a REST connection error or unexpected data does not crash the app.
7. When the app receives an ID number, it should parse this and pass it to the bash script as a parameter
8. A sample bash script below is suitable for this application:

#!/bin/bash
id="$1"
echo "We received the ID message ${id}"

When the app runs and receives a successful REST message with an ID, the expected output would be to run this script and the output should include the passed ID message.

9. For authentication, we should use Authorization Basic in the REST header. For example, if the username is "username" and the password is "password", then the app should use base64 encoding and add a header to the REST call:

Authorization: Basic Zm9vOmJhcg==
10. The app should require the URL for the Rest API call to begin https: to enforce SSL.

11. The Test REST URL you should GET will be provided.

SO Mac Swift

Nº del proyecto: #12017891

Sobre el proyecto

4 propuestas Proyecto remoto Activo hace 7 años

Adjudicado a:

hoppham2332

Hi, my name is Kevin and I’m a IOS-OSX developer. I have years experienced in mobile app and desktop app developing I'll give you the expected quality services and products along with your satisfaction. So why should Más

$50 USD en 1 día
(14 comentarios)
4.1

4 freelancers están ofertando un promedio de $73 por este trabajo

ryanmargono

Hi! I'm a young comp sci enthusiast from NYC, im absolutely passionate about programming and would love to help you out here! I'm very comfortable with this tasks parameters and am confident I can deliver you what you Más

$50 USD en 1 día
(0 comentarios)
0.0