An open API service indexing awesome lists of open source software.

https://github.com/worker8/pixels

Pixels is an Android app that brings you the beautiful and interesting pictures from Reddit
https://github.com/worker8/pixels

Last synced: 11 months ago
JSON representation

Pixels is an Android app that brings you the beautiful and interesting pictures from Reddit

Awesome Lists containing this project

README

          

[![](https://img.shields.io/badge/Kotlin-1.3.11-blue.svg)](https://kotlinlang.org) [![](https://app.bitrise.io/app/41a292091e9fb0ad.svg?token=Zdc9-YXqjcj5P5HEqTPU1Q)](https://app.bitrise.io/app/41a292091e9fb0ad)

### Pixels for Reddit Introduction

This is a simple Reddit client to browse interesting pictures from various subreddits. I made this app to improve my Android programming skills and to build something I personally interested in.

#### Playstore Link
The app is currently available in Google Playstore as Open Beta. :point_down:

[](https://play.google.com/store/apps/details?id=beepbeep.pixelsforredditx&utm_source=github)

#### Features
The features are currently pretty limited! But here's a few that is available:
- browse posts
- change subreddit
- randomize subreddit
- night mode

#### Screenshots
| screenshots | |
| - | - |
| | |
| | |

### Technical Details
##### General Architecture
The codebase is written in Kotlin. The architecture used is MVVM with RxJava. The `ViewModel` contains no Android related code, so the main logic can be unit tested: [example, HomeViewModelTest.kt](https://github.com/worker8/Pixels/blob/b34b0a5fdf6e5e63f9298ccea51f08afaef792ca/app/src/test/java/beepbeep/pixelsforreddit/home/HomeViewModelTest.kt). More information written in the wiki: [Architecture Explanation](https://github.com/worker8/Pixels/wiki/Architecture-Explanation).

##### Icons, Resources and Theming
SVG icons are preferred in this project, and night mode is supported. More details are in the wiki: [Assets, Resources & Theming
](https://github.com/worker8/Pixels/wiki/Assets,-Resources-&-Theming).

##### Testing, CI, Danger & Linting
Bitrise CI is used, and only JUnit test is available. No integration tests are added yet. Danger and Android Linting are used to report warnings in PR. More about how all they work in the wiki: [Bitrise CI, Danger, Android Lint Explanation](https://github.com/worker8/Pixels/wiki/Bitrise-CI,-Danger,-Android-Lint-Explanation).

##### Coding styles
`.editorconfig` is used in this project to make sure that the spacing and indentations are standardized, the `editorconfig` is obtained from [ktlint project](https://github.com/shyiko/ktlint/blob/master/.editorconfig).