athompson887 / Virgin-Directory

MIT License
0 stars 0 forks source link

complete challenge #1

Closed athompson887 closed 2 years ago

athompson887 commented 2 years ago

Virgin Money would like a directory app to allow staff to: - See all of their colleagues contact details

The following story around how the app will be used should inform how you approach development/code structure: Virgin Money aim to use their branding in all of their internal services. They currently use a main brand color #C40202 however they are in the early stages of a rebrand that may lead this to change in the near future. All employees will have access to the app and will expect the ability to quickly pull up and use the contact details of any of their colleagues. All details of the contact should be displayed in the app.Employees use Android devices across the full range, so your design must work across phones and tablets. Several of our employees use the accessibility features of Android, so your app should be accessibile. If the trial of the Directory app proves successful with the staff, Virgin Money may look to expand the app so that it will also allow users to access and administer more data, so ensure that the app can be easily expanded both in terms of codebase and UX. The code from this app could be used in other applications so modularity is important. If the app expands in scope, it will be more rigorously tested by our QA resource and will therefore need to support a test environment as well as a live environment. Virgin Money cannot guarantee that the same developer(s) will always be working on this app throughout it's lifecycle, so it is important that other developers will be able to onboard themselves onto the codebase with ease.

Finished! Now what?

Store your code on a public repo, either Github or Bitbucket, and email the link. Zip up your code and return it via email.

athompson887 commented 2 years ago
  1. Created an api 19 project build gradle.
  2. MVVM based architecture using Live Data and Koin dependancy injection to ensure loose coupling to help with testing.
  3. Retro fit and Koin for API calls.
  4. Branding colour can be changed in one place in the app.
  5. Tested on tablets, and phones with varying magnifications.
  6. Setting to change test environment - currently only works for test as there is no live url.
  7. Unit tests using JUnit and Kakao (Espresso) for UI and standard tests.