2019-04-14 18:50:06 +02:00
|
|
|
# Messenger
|
|
|
|
|
|
|
|
## Used Design Methods:
|
|
|
|
|
2019-12-01 23:21:07 +01:00
|
|
|
* Mercury IM's development follows architectural principles know from
|
|
|
|
[Clean Architecture](https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html).
|
|
|
|
* The app is developed using the MVVM (Model View Viewmodel) pattern
|
|
|
|
* Components are wired together using Dependency Injection (DI) with [Dagger 2](https://dagger.dev)
|
|
|
|
* Data is persisted using [requery](https://github.com/requery/requery)
|
2019-09-12 17:19:51 +02:00
|
|
|
|
|
|
|
## Building
|
|
|
|
|
|
|
|
```
|
|
|
|
git clone <project-url>
|
|
|
|
cd <project-directory>
|
|
|
|
git submodule init && git submodule update
|
|
|
|
gradle assembleDebug
|
|
|
|
```
|
2019-10-28 14:56:56 +01:00
|
|
|
|
|
|
|
## FAQ
|
|
|
|
|
|
|
|
* I want to develop, but lots of `org.jivesoftware.smackx.*` classes cannot be found!
|
|
|
|
* You forgot to type `git submodule init && git submodule update` as mentioned above
|
2019-12-01 23:21:07 +01:00
|
|
|
* It looks like I'm missing `org.mercury_im.messenger.data.*` classes???
|
|
|
|
* In Android Studio select the `data` module and then click "Build -> Make Module 'data'".
|