GithubHelp home page GithubHelp logo

vishal-1408 / kiwix-android Goto Github PK

View Code? Open in Web Editor NEW

This project forked from kiwix/kiwix-android

1.0 0.0 0.0 317.65 MB

Kiwix for Android

Home Page: https://android.kiwix.org

License: GNU General Public License v3.0

JavaScript 0.10% Python 1.37% Shell 0.30% HTML 0.80% Java 15.95% Kotlin 81.47%

kiwix-android's Introduction

Get it on Google Play Get it on F-Droid

Kiwix Android

Kiwix is an offline reader for Web content. One of its main purpose is to make Wikipedia available offline. This is done by reading the content of a file in the ZIM format, a highly compressed open format with additional meta-data. This is the version for Android.

Kiwix Android is written in Kotlin (with a few old pieces in Java).

Build Status codecov CodeFactor License: GPL v3 Public Chat Slack

Build Instructions

Production releases of the app are built on travis and released automatically

To build this repository alone for development purposes you can simply import the project into Android Studio and the hard work will be done for you. Note here that instead of opening the project, you have to import it. If you prefer to build without Android Studio you must first set up the Android SDK and then run the command: ./gradlew build from the root directory of the project.

Kiwix-Android is a multi-module project, in 99% of scenarios you will want to build the app module in the debug configuration. If you are interested in our custom apps they have their own repo kiwix-android-custom that goes into further detail

Libraries Used

  • Dagger 2 - A fast dependency injector for Android and Java
  • Retrofit - Retrofit turns your REST API into a Java interface
  • OkHttp - An HTTP+SPDY client for Android and Java applications
  • Butterknife - View "injection" library for Android
  • Mockito - Most popular Mocking framework for unit tests written in Java
  • RxJava - Reactive Extensions for the JVM โ€“ a library for composing asynchronous and event-based programs using observable sequences for the Java VM.
  • ObjectBox - Reactive NoSQL Databse
  • MockK - Kotlin mocking library that allows mocking of final classes by default.
  • JUnit5 - The next generation of JUnit
  • AssertJ - Fluent assertions for test code
  • Fetch - A customizable file download manager library for Android

Contributing

Before contributing be sure to check out the CONTRIBUTION guidelines.

We currently have a series of automated Unit and Integration tests. These can be run locally and are also run when submitting a pull request.

Code Style

For contributions please read the CODESTYLE carefully. Pull requests that do not match the style will be rejected.

Commit Style

For writing commit messages please read the COMMITSTYLE carefully. Kindly adhere to the guidelines. Pull requests not matching the style will be rejected.

Communication

Available communication channels:

For more information, please refer to https://wiki.kiwix.org/wiki/Communication.

License

GPLv3 or later, see COPYING for more details.

kiwix-android's People

Contributors

macgills avatar frans-lukas avatar mhutti1 avatar kelson42 avatar iadeelzafar avatar gouri-panda avatar rashiq avatar aditya-sood avatar s-ayush2903 avatar eladkishon avatar yashk2000 avatar abdulwd avatar 0xsiddharthks avatar rgaudin avatar jhbiggs avatar cip avatar akkywadhwa avatar translatewiki avatar bbt-seanmacgillicuddy avatar sonusourav avatar rutvik-panchal avatar julianharty avatar borisfba avatar mohamed-sameh-khalil avatar 4shutosh avatar ritvikmahajan17 avatar soloturn avatar prayutsu avatar dr0pdb avatar yash1ts avatar

Stargazers

Roman avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.