We are in the process of creating an application for portfolio management. We are looking for an Android developer to create the structure of the app primarily around UI workflow. The back end business logic (via rest APIs) and database will be handled by us. We will provide the input and output formats of such APIs which need to be hardcoded for now to develop the app.
Following functionalities need to be built:
1. Login screen (logo, user id, password, links to create account and forgot password) <- App landing page when user is not logged in
2. Screen to register (with multiple inputs)
3. Home page (with multiple panels having charts and data tables with links to investment, a plus icon in the title bar to add investment) <- App landing page when user is logged in
4. Screen to add an investment (with multiple inputs and submit data)
5. Screen to update an investment (navigated by clicking on a link in home page and with multiple inputs and submit data)
6. Settings page with 3 tabs (with multiple inputs in each and submit data)
Other UI considerations:
1. Ribbon in the bottom of the screen with 5 icons and text (after logging in)
2. Hamburger icon at top left in the title bar to open menu on the left with links within it (which should also be opened by right swipe from the edge)
3. Links in the menu mentioned above could be dynamic. i.e. they need to be retrieved because different users may have different set of links. There will be a few fixed links common to all.
4. Title bar needs to be context aware. i.e. other than the menu icon rest like title of the page and any buttons
5. Localization framework of UI texts (based on Android app guidelines)
6. As developer of the app we should be able to quickly change branding, color, font and style of the app. Follow whatever latest Android standard. User does not need this ability.
7. (update) App should have fluid design. i.e. should work without breaking the UI on different sized devices.
1. You don't have to write any business logic to process data from the screens
2. You do have to write classes to handle button and link clicks from screens which will capture data and pass on to backend rest APIs. Also, receive the data from APIs and show them back to screen in appropriate format. Request and response of Rest APIs as mentioned above need to be hardcoded. You need to do a dummy call to the APIs.
3. Login mechanism and session management (user should be logged in for configurable x hours)
4. Local database to cache some of the data retrieved from the back end rest APIs and some of the settings. We will provide two sample tables to create and to store data in.
5. Integrating Google charts. Two sample implementations would be required.
6. Home page is built by combining panels / widgets. So, list of widgets needs to be retrieved, processed and then displayed. Some are fixed and common for all uses and others created by users. Each widget may call different rest APIs. You need to recommend a framework for this functionality that is generally used for Android apps.
7. Error handling and logging mechanism. Follow the current best practices.
8. App security as mandated by Google.
1. Prior experience in developing front end of Android app is must with last project executed in last one year
2. Code should conform to latest Android coding standards, guidelines and best practices
3. UI should conform to latest Android design principles
4. Follow object oriented programming methodologies
5. Ability to write well commented and formatted code
Above mentioned requirements as it stand today. UI wireframes will be provided before the work starts. Any significant change will be communicated at the earliest. You are required to deliver a tested code which we will also test and provide feedback on for any fix.
You will be delivering us the full source code which will be owned and copyrighted by us.