No description
Find a file
2020-06-06 18:54:56 +02:00
app Make ConnectionFactory injectable 2020-06-06 18:54:56 +02:00
cli Add cli module 2020-06-06 18:45:42 +02:00
config/checkstyle Deactivate too strict checkstyle rules 2019-09-30 02:35:57 +02:00
core-old Too lazy to comment. Simplifications and rewrites of login 2019-12-21 00:27:48 +01:00
data Package structure refactoring 2020-06-06 18:45:20 +02:00
documentation Add 512px logo png 2019-09-04 00:22:06 +02:00
domain Make ConnectionFactory injectable 2020-06-06 18:54:56 +02:00
entity Wip: Implement message store and display 2020-06-05 16:35:16 +02:00
gradle/wrapper Bump gradle version to 5.6.2 2019-09-30 02:23:39 +02:00
libs Wip: Implement message store and display 2020-06-05 16:35:16 +02:00
utils Update smack-unique-snapshots.sh 2019-06-10 17:40:16 +02:00
.gitignore Add new icon 2019-08-29 00:21:24 +02:00
.gitmodules Point Smack submodule to mercury fork on codeberg 2019-09-13 12:02:24 +02:00
build.gradle Merge CleanArchitecture 2020-01-06 04:18:22 +01:00
gradle.properties Wip: Work on enabling accounts from accounts fragment 2020-05-16 17:13:51 +02:00
gradlew Initial commit 2019-03-27 21:24:47 +01:00
gradlew.bat Initial commit 2019-03-27 21:24:47 +01:00
mercury_icon.svg Add new icon 2019-08-29 00:21:24 +02:00
Murmelbahn.ora Add murmelbahn 2020-05-11 16:32:32 +02:00
README.md Merge CleanArchitecture 2020-01-06 04:18:22 +01:00
settings.gradle Add cli module 2020-06-06 18:45:42 +02:00
version.gradle Wip: Work on enabling accounts from accounts fragment 2020-05-16 17:13:51 +02:00

Messenger

Used Design Methods:

  • Mercury IM's development follows architectural principles know from Clean Architecture.
  • The app is developed using the MVVM (Model View Viewmodel) pattern
  • Components are wired together using Dependency Injection (DI) with Dagger 2
  • Data is persisted using the requery ORM framework

Building

git clone <project-url>
cd <project-directory>
git submodule update --init --recursive
gradle assembleDebug

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
  • 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'".