Skip to content

Phirke/Urban_Dictionary

Repository files navigation

Urban Dictionary App

Utilizes urban dictionary API to lookup word definitions

Flow

Overview

Architecture

This project follows Clean Architecture and MVVM

API Calls

Using the following APIs I found to use instead of https://rapidapi.com/community/api/urban-dictionary. There was more I wanted to do like pagination but didn't have time.

Screens

  • Results Screen - Show results of search term. If on initial screen, show list of random results.

  • Search Screen - Allow users to input a search term. Hits autocomplete API to get a list of potential search terms.

Persistence

Only calls to the https://api.urbandictionary.com/v0/define?term={term} endpoint are cached. This allows you to lookup previous search terms even when offline. There is no expiry time in this implementation.

Technology

Presentation

Persistence

  • Room - SQLite abstraction library

Networking

Utility

  • arrow-kt - Functional companion to kotlin std lib. But only using it for Either :D
  • Leak Canary - Memory leak detection library
  • Timber - Logging utility class built on top of Android Log

Code Analysis

Run with ./gradlew check

Auto ktlint with ./gradlew ktlintFormat

Testing

About

Urban Dictionary Api Integration

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages