aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: ba66160b06142b4f013d76e57ba9f1aaf4a77c4b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# Android myanimelist client project. (WIP)

## Features

List of elements used in top manga and top anime with a recycler view

SwipeRefresh used to refresh the list of data of the first page.

Use the button (prev and next) to navigate with ease through the pages.



Details of a chosen element from the recycler view with an intent object

Title, synopsys and background clickable.

URL link openable.



Search pages for animes and mangas.

They display the data in a recycler view similar to the tops.

A feature has been added that hides the keyboard when the query is submitted by the user.

We can also submit the query by clicking the "search" button that replace the "return" one.

Clicking on a searched item also opens a detail page of it.

I'm not adding the "multiple pages" feature to the search section because I assume the user should use a more precise query if what he's looking for doesn't show up in the first page.

## API
Multiple calls of the REST API from jikan.moe.

Usage of :

+ /v3/top/manga
+ /v3/top/anime
+ /v3/manga
+ /v3/anime
+ /v3/search/manga
+ /v3/search/anime

## Data Storage
Data storage with sharedpreferences used for the recycler view of top manga and top anime as well as the details

Saves the detail page of an item when opened, not when the list is shown

Usage of ScrollView in the detail page. Thus, items with long synopsis and background aren't cut down.

## Design
Used my "personal" theme colors for the app.

It consists of some colors of the pink/purple "family" :

+ very dark purple : #09022A
+ very light magenta : #FF70FF
+ strong pink : #D52C70
+ slightly desaturated magenta : #C583B6
+ grayish magenta : #C9A6C9

Also added the "bangers" font for the titles.

## Gitflow
Development done with a Gitflow workflow. I used master, release, develop and feature branches.

## Architecture
I used the MVC (Model, View, Controller) architecture.

## Singletons
Usage of singletons.

Used to call APIs.

## Usage
Displaying a snack when hitting the previously button on the first page :

<img src="https://adjutor.xyz/gif/prev-button-message.gif" alt="Previous_button_on_first_page]" width="200"/>

This is a reminder since there's a bug (or a feature ;) ) that reset the page number inside the app/code but not the actual list displayed.