jeffchang5 / OkCupid-Coding-Challenge

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

OKCupid Demo Application

This project is an implementation of the specs required by the OKCupid challenge. The app requires Android 5.0 and above.

Goals

  • Demonstrate a good understanding of software architecture and tooling that are important in maintaining a modern codebase.
  • Conforming to Material Design standards in creating a predictable UI for users.
  • Sensible file and project organization.
  • Demonstrate the use of common Android libraries used commonly for modern codebases.
  • Use dependency injection with Dagger 2 to produce decoupled objects and services.
  • Utilize testing to ensure quality assurance as well as having a manageable codebase that quickens the process of bug fixing.

Features

  • Tap on a match in the special blend screen to be saved and viewed on the match screen.
  • On tapped, the liked match is highlighted.
  • When tapped on the match screen, it is removed and the respective like on the special blend screen is removed.
  • Matches and likes persist on rotation and when the app is restarted.
  • Matches and likes are saved.
  • Handles no internet and unknown errors gracefully.
  • Orders liked percentages in descending order.

Getting Started

There are two flavors in this project. Mock loads data from a sample response. Prod will load data from the network. Make sure you set the build variant which can be found at the bottom left side of Android Studio by default.

Screenshots

Horizontal Tablet Vertical Liked Special Blend Vertical Matched

About


Languages

Language:Kotlin 100.0%