Functional requirements
--------------------------------------------------
The application should run as a service, i.e. there is no ui. The application should start automatically on device boot, poll a server on configurable time intervals and update itself automatically when the server issues an update.
Use case:
1. System polls the server on configured time intervals. The request is an XML which looks like:
<requestCommands>
<IMEA>[device imea]</IMEA>
<version>[installed application version]</version>
</requestCommands>
2. The server responds with commands, encoded as XML. The response contains zero or more commands. There are two kinds of commands.
2.1. First one asks application to configure polling interval:
<commnads>
<configure-polling-interval>
<minutes>5</minutes>
</configure-polling-interval>
</commnads>
2.2. Second one asks application to update itself from a specified URL:
<commands>
<update>
<url>[login to view URL]</url>
</update>
</commands>
Non-functional requirements
--------------------------------------------------
1. The application should be delivered as eclipse project. Deliverables should include instructions on how to compile, test and install the application on device.
2. The target platform is Android 2.3.3 (HTC Desire S).
3. All requests to the server should be performed via HTTPS. The server uses a self-signed certificate.
Scope
----------------------
Your job is to implement the client application only, you are not responsible for the server.
Feel free to ask questions, request clarifications. And let me know if something can not be done as described.
Hi,
I am a Software Engineer, with 5 years experience, from India.
Java, PHP and DBMS are my specialities.
Would like to work with you, as per the proposal.
Thanks,
Sham Patole