We are looking for a programmer/company to build a small integrated online and mobile application. This will form the part of a larger more complex application. This initial application will allow a user to register, perform an email verification step, logon, and create an account. This can be done via the Web or via a smart phone. Different types of users will use the smart phone and web based interfaces. A more detailed specification is attached. A more detailed specification is attached, the screen layout specs is for indicative purposes only. Key skills
- Java, SQL, Tomcat, Hibernate, Web Services/WSDL, SQL
- Android/iPhone development
The successful bidder must be able to communicate and understand English fluently.
The successful bidder must we willing to sign a copyright and confidentiality agreement.
The following are the details of the technology requirements
The system consists of a number of key components in particular
? Mobile/Smart Phone application (for iPhone/Android). This is the application that would be installed form the appropriate application store and used to interact with the services provided by the core of the system.
? Rich Web application. This is the application that would be used from Desktop/Laptop via standard browsers (IE, Firefox, Chrome).
? Business services. This is where the business logic and majority of the data processing happens.
? Database. This is where the data is stored.
The following sections describe each of these key components from an technology perspective.
The architecture and technology required a very standard, a multi tiered web based Java application with rational database and the addition of mobile based usage. The target platform will be Windows and Linux for the web application, business services, and database components. The target platform for the mobile application will be the iPhone and Android.
#### Development Tools
There will be a range of development tools required however for the web, business services and database components the following are the key tools
? IDE: Eclipse (3.5/3.6/3.7)
? Build: Ant (1.8.2) IVY (2.2) or Maven (2.2.x/3.0.x)
#### Mobile/Smart Phone Application
The preference is that a cross platform mobile development solution is used (e.g. RhoMobile, or Appcelerator) however this is flexible. If any commercial tools or libraries are used it is importatn that this is discussed and agreed before use.
#### Rich Web Application
The web application should be written in Java and be deployable to Tomcat (version 5.5, 6.x, 7.x). Open source libraries such as Apache commons, Spring framework (3) can be used but all third party libraries need an appropriate open source license (please check with the requestor if unsure). There should be no direct database access from the web application. All service/data access should be preformed via the business services component.
The business services should be access via web services as described below in the business services section.
The area very wide range of web frameworks that can be used for the presentation tier (e.g. GWT, Spring Web Flow, Apache Tapestry, Apache Cocoon, JBoss Seam, Java Server Faces, WaveMaker, etc.). The main consideration is that the solution is consistent, easily extensible, and easily customizable in a modular manner. In addition any third party licenses need to be appropriate open source licenses (please check with us if unsure). In addition the solution needs to be compatible with IE (8) Firefox (3.6) and Chrome (12.x).
#### Business Services
These should be written in Java (version 6) and be deployable to Tomcat (versions 5.5, 6.x, 7.x). Open source libraries such as Apache commons, Spring framework (3), and Hibernate (3.6) can be used but all third party libraries need an appropriate open source license (please check with us if unsure).
The business services component should use appropriate abstractions from the database i.e. JPA/Hibernate so that it provides the greatest possible flexibility for choice of database. Also it should expose its services as web services to the service users (e.g. mobile application and web application). These web services need should follow the contract first design principle and be driven from a WSDL and related Schema mapping to Java using the JAXB standard.
This can be MySQL 5.5 or PostgreSQL 9.0. The source should include any SQL creation scripts and any SQL scripts to seed the database with initial configuration/setup data.
The following are some of the key deliverables that will be expected
? Signed Non-disclosure Agreement (NDA) document. This will need to be provided early in the process.
? Copyright information. All source artifacts and documentation (i.e. every file) needs to contain the provided copyright heading and information.
? Source Code. This should be provided in an exported form from a source management tool - preferable Subversion. It should include the history, have a clear structure for each component/module and have a clear and documented (see below) details of any branches or tags. Source for all originating items (in particular where items are generated from an originating items) must be included. Other artifacts such as graphics, scripts, configuration, etc. should all be included.
? Documentation should be included in particular documentation for building, packaging and installing all the components is required.
? Development Tools. A list of the development tools, plugins, with details of the versions etc. used to build, package, deploy, and test the system.