Commit 718f3478 authored by Christophe Henry's avatar Christophe Henry

Add README.md and LICENSE

parent d82382d9
This diff is collapsed.
# FreshRSS Android application
Finally, an Android application specifically dedicated to the awesome [FreshRSS aggregator](https://freshrss.org/)
## Getting started
This project is a fairly standard Android application. As long as you use an correct setup of [Android studio](https://developer.android.com/studio/),
everything should be fine.
## Running the tests
This project has no tests yet ¯\_(ツ)_/¯
There is an issue [about setting them up](https://git.feneas.org/christophehenry/freshrss-android/issues/16),
though, as well as one for [setting up a CI](https://git.feneas.org/christophehenry/freshrss-android/issues/17)
## Contributing
As stated, this is a fairly standard Android project. There are a few things to know, though, before contributing...
1. This project is a pure Kotlin project. No Java will be tolerated.
The original author is highly allergic to Java and was very happy to see the Android team embrace Kotlin.
Since Kotlin is becoming the standard to develop Android applications
(Android's support library are being rewritten in Kotlin, Jetpack — the Android library for rapid application development —
is also written in Kotlin, and examples in Android's documentation show Kotlin code by default), this project adopted Kotlin.
2. It also heavily relies on [Jetpack](https://developer.android.com/jetpack/), the Android's rapid application development library.
In particular, it uses:
* [JP's data binding](https://developer.android.com/topic/libraries/data-binding/)
* [`LiveData` classes](https://developer.android.com/topic/libraries/architecture/livedata)
* [Navigation](https://developer.android.com/topic/libraries/architecture/navigation/)
* [Room persistence library](https://developer.android.com/topic/libraries/architecture/room) for database interaction,
* [`ViewModel`s](https://developer.android.com/topic/libraries/architecture/viewmodel)
It would be advised to read [Android's guid to app architecture](https://developer.android.com/jetpack/docs/guide)
3. It uses [Kovenent](http://kovenant.komponents.nl/), as Kotlin promise library to perform async operations.
4. It uses [Fuel](https://fuel.gitbook.io/documentation/) for HTTP requests.
5. You can debug your application using [Facebook's Stetho](http://facebook.github.io/stetho/).
6. Serialization and deserialization of HTTP request is handled by [Kotlinx serialization library](https://github.com/Kotlin/kotlinx.serialization/blob/master/README.md#kotlin-cross-platform--multi-format-reflectionless-serialization).
(Might be an idea to move to [`fuel-livedata`](https://fuel.gitbook.io/documentation/support/fuel-livedata) in the future. Requires digging.)
## License
This project is licenced under GNU GPL v.3. See [LICENSE](https://git.feneas.org/christophehenry/freshrss-android/blob/develop/LICENSE).
## Aknowledgments
Thanks to [Marien Fressinaud](https://github.com/marienfressinaud),
[Alexandre Alapetite](https://github.com/Alkarex) and all the FreshRSS contributors for their awesome work.
And thanks again to Alexandre for helping in understanding their implementation of Google reader's API.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment