All Projects → jamiesanson → Mammut

jamiesanson / Mammut

Licence: GPL-3.0 License
An Android Client for Mastodon

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to Mammut

Mastodot
C# Library for Mastodon API. Easy Toot!
Stars: ✭ 17 (-58.54%)
Mutual labels:  mastodon
DroiDon
UNDER DEVELOPMENT: DroiDon is android app for Mastodon https://github.com/tootsuite/mastodon
Stars: ✭ 30 (-26.83%)
Mutual labels:  mastodon
WhatYouarePlaying
An extension delivering what you're watching and listening to, to Mastodon and other services
Stars: ✭ 15 (-63.41%)
Mutual labels:  mastodon
FindHaiku4Mstdn
偶然にもトゥートの中に俳句を見つけた俺たちは…
Stars: ✭ 20 (-51.22%)
Mutual labels:  mastodon
Disboard
Collection of fediverse client libraries
Stars: ✭ 13 (-68.29%)
Mutual labels:  mastodon
mastodon-translate
Tampermonkey Script to add option to Translate Toots
Stars: ✭ 20 (-51.22%)
Mutual labels:  mastodon
emuarius
Bridge between Twitter and Mastodon
Stars: ✭ 53 (+29.27%)
Mutual labels:  mastodon
mastodon.js
Javascript Mastodon API for Web Browsers with streaming support
Stars: ✭ 32 (-21.95%)
Mutual labels:  mastodon
mastodon-hnbot
A bot posting the Hacker News stories with 100+ points to Mastodon
Stars: ✭ 37 (-9.76%)
Mutual labels:  mastodon
wordpress-ostatus
An OStatus plugin for WordPress
Stars: ✭ 21 (-48.78%)
Mutual labels:  mastodon
Fediverse.app
A client for Pleroma and Mastodon instances written using Flutter
Stars: ✭ 72 (+75.61%)
Mutual labels:  mastodon
vim-mastodon
Mastodon client for Vim
Stars: ✭ 28 (-31.71%)
Mutual labels:  mastodon
tut
TUI for Mastodon with vim inspired keys
Stars: ✭ 165 (+302.44%)
Mutual labels:  mastodon
mulukhiya-toot-proxy
各種ActivityPub対応インスタンスへの投稿に対して、内容の更新等を行うプロキシ。通称「モロヘイヤ」。
Stars: ✭ 24 (-41.46%)
Mutual labels:  mastodon
Nautilus
Turn your website into an ActivityPub profile
Stars: ✭ 55 (+34.15%)
Mutual labels:  mastodon
documentation
Mastodon documentation
Stars: ✭ 1,485 (+3521.95%)
Mutual labels:  mastodon
Instagram2Fedi
Python script for crossposting from Instagram to Mastodon or Pixelfed
Stars: ✭ 45 (+9.76%)
Mutual labels:  mastodon
tusky-api
Node.js server that proxies Mastodon notifications to an app's push notifications through Firebase Cloud Messaging
Stars: ✭ 17 (-58.54%)
Mutual labels:  mastodon
humhub-oauth
Social OAuths built for the Social Platform HumHub
Stars: ✭ 16 (-60.98%)
Mutual labels:  mastodon
activity-pub
API Platform ActivityPub Support
Stars: ✭ 63 (+53.66%)
Mutual labels:  mastodon

Mammut CircleCI

Mammut is a multi-account capable Mastodon client for Android. It's built with offline support from the get-go for home and local timelines, and will soon allow for offline toot queuing. The key capabilities so far are:

  • Multi-account support, including more than one account per instance
  • Offline support
  • Full theming capabilities, including 2 light and 2 dark themes
  • Full support for custom emoji, including adding them when composing a toot

App Structure

Modules

Mammut is structured into a number of modules. This allows good separation of concerns, and faster build times.

  • app - the main app module for Mammut. This consumes all other modules.
  • base - the base module for feature modules. This includes all basic required dependencies for features, as well as a set of base classes for features to extend from.
  • data - this module contains all data-related classes for the app, including database definitions, as well as repository implementations.
  • instances - a simple wrapper library for the instances.social REST API
  • notifications - a feature module for the notifications feature
  • toot - a feature module for toot composition

App Architecture

Mammut is built with a number of different architecture considerations in mind:

  • The Repository Pattern - this allows abstraction of the source of data from other components in the app. This pattern is especially useful when trying to implement offline support.
  • MVVM - Standard MVVM as recommended by Google is used throughout
  • Conductor - a replacement for Android Fragments that allows easier navigation, as well as a much nicer transitions framework.

Building from source

Here's the steps to build yourself a debug variant of Mammut.

  • Get yourself an API token from the instances.social token portal. Remember, this is meant to be secret! Don't commit this to source control.
  • In keys.gradle, replace the help message with your token. Be careful to not remove any "s OR \s. It should look something like this:
ext.INSTANCES_SECRET = "\"GRERU43534J..324\""
  • Open up a terminal and navigate to where you've cloned the project. Run this command:
./gradlew installDebug

That's it! Look through your installed apps for Mammut, with a white icon.

Disclaimer

This project is under heavy development. Things will probably change substantially between updates - apologies in advance. You can find it in beta on the Play Store here.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].