valentineRutto / Anime

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Anime Features

The following are the features of the application;

-It should have bottom navigation.

-It should have a page that pulls the top 25 animes and lists them. The link to the API is; anime. Further API Documentation can be found here; Jikan REST API v4 Docs.

-The relevant data should be stored on the app using SQLite.

-A user should be able to refresh the page and the new data should overwrite the stored one.

-It should have another page that allows for uploading of images to the following URL search. The response should be displayed below the image after the API call is complete. Only display relevant information such as title and episode. API documentation can be found here; API Docs

Tech Stack

-Kotlin- a cross-platform, statically typed, general-purpose programming language with type inference.
-Coroutines - perform background operations.
-KOIN - a pragmatic lightweight dependency injection framework.
-ROOM - persistence library providing an abstraction over SQL .
Jetpack -
-Retrofit - A type-safe HTTP client for Android.

Architecture

The app contains these packages:

Data

  • data-remote

Handles data interacting with the network and is later serverd up to the presentation layer through domain object

  • data-local

Handles persistence of object with Room ORM from.This module is responsible for handling all local related logic and serves up data to and from the presentation layer through domain objects.

With this separation we can easily swap in new or replace the database being used without causeing major ripples across the codebase.

Repository

Gets data from api and room and distributes it to the rest of the app

DI

Koin handles dependency injection on components making it easier to reuse

util

This package contains utility functions like networkresult which are used throughtout the application

ui

contains views that are shown to the user

Installation

Clone the repo and run on emulator or phone or download the apk file

Screenshots

Anime List Photo Picker Upload Photo

About


Languages

Language:Kotlin 100.0%