I hope you don't mind if I get straight to the point. have a pre-existing SMS-sending app that's written both in Java and in Mono/C# (it uses C# but the libraries are slightly different in Mono).
And it has/does the following...
o Splash screen
o Main control screen - 6 buttons, each when pressed sends a particular SMS command to a unit number, which is set in program settings
o Settings menu - App password (set and saved locally, but needs encryption), unit number (number to send texts), and check box to remember password
o Activation screen - Main control is disabled/grayed out with one large, green 'Activate' button, which involves setting the password and the unit number
o All SMS messages it sends do not show up in the phone's texting application, as desired.
....and I'm looking to make the following enhancements:
- App designed using code compatible with current UI, created in Mono (your enhancements can be compiled to free trial-version emulator instead of APK, which requires Mono license)
- Create UI for iOS using MonoTouch and UI for Windows Phone using .NET (these UIs will use the same code-behind that currently exists, only with native UIs)
- Functionality for user to enter their assigned activation code on the 'Activation' screen.
- If activation code matches activation code in web database, the user is allowed to create an associated password (and also to confirm password)
- Password is stored locally as well as on the web database, and in both instances the password should be protected using the SHA2 (SHA-512) encryption algorithm (using BCrypt library)
- Activation code and associated password should then also log them into the website, where they can create a user name which will allow them to log on in the future (instead of having to use a long activation code all the time)
- Add a "Change Password" option to app Settings menu if user confirms old password. (Sync new password to phone and web database)
- Add images to make the buttons look depressed (images provided)
- Add click sound (provided) and vibration to button taps with the option to disable them in Settings menu
- Make the logo in the footer a button that launches the website
- Add support for user-selected themes (different images for buttons; images provided)
- Command-sent-successfully confirmation message on control screen (when SMS commands have been sent successfully)
- Monitor/intercept all incoming texts from the unit number, which will be 'command received' confirmations, which should then display on the screen
- Intrusion detection system (After X many failed login attempts without a subsequently successful attempt, send an alert SMS to the alert number, which is currently in the Settings menu but needs added to the Activation screen)
- Add sound (provided) that plays as splash screen loads
- User should be able to schedule commands in the app or log into website to schedule commands
In order to schedule commands, which are SMS messages either sent from the website or the app/phone, we would need to pass data (number, message, account ID, password) to a third-party API via HTTPS. So we would need to upload the schedule from the app to our web server and store in a table, and then create a web service that checks when its time to send the SMS. If the current time is equal to the specified time, it gets the SMS and number from the table and passes it to the third-party SMS-sending API.
- If user enters valid activation code, app should retrieve and store a unit number from a table on the web server.
This functionality would replace the current option of the unit number being entered directly on the Activation page, but using this method, the user should ever be able to change their unit number - only view it in the Settings Menu.
If this is something you or your team can do, I'd love to hear from you.
The flash screen goes by so quickly that, unless you're looking for it, you can't really see it. I've been told this will change when more functionality is added, but I'd like it to pause for a second or two, even if not needed (for branding purposes).
6 freelancers are bidding on average $650 for this job
We are a Web design and development company that focuses on regular communication with our clients and timely delivery for all our projects. Some of the technologies/area that we focus include: