All Projects → levibostian → Teller-Android

levibostian / Teller-Android

Licence: MIT License
Android library that manages your app's cached data with ease.

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to Teller-Android

Dianoia-app
Mobile (Ionic 3 - Angular 4) app about non-pharmaceutical activities and information for people with dementia.
Stars: ✭ 13 (+0%)
Mutual labels:  offline-first, offline-app
CouchDraw
A synchronized drawing app that utilizes Couchbase Sync Gateway and Xamarin to enable shared canvases.
Stars: ✭ 22 (+69.23%)
Mutual labels:  offline-first
launchlet
Make the web yours.
Stars: ✭ 34 (+161.54%)
Mutual labels:  offline-first
HelpOff
Providing help via offline system : Runner-Up at NMIMS Hackathon 2018
Stars: ✭ 20 (+53.85%)
Mutual labels:  offline-first
couch-auth
Powerful authentication for APIs and apps using CouchDB (or Cloudant) with Node >= 14
Stars: ✭ 50 (+284.62%)
Mutual labels:  offline-first
Headlines
Simple Headlines app to showcase MVVM(Model-View-ViewModel) architecture with OFFLINE functionality in android.
Stars: ✭ 48 (+269.23%)
Mutual labels:  offline-first
grouptabs
Mobile Web App to organize payments in dynamic groups of people.
Stars: ✭ 40 (+207.69%)
Mutual labels:  offline-first
contentz
Create Content, Get a Highly Optimized Website
Stars: ✭ 57 (+338.46%)
Mutual labels:  offline-first
minesweeper
💣Minesweeper game written with React
Stars: ✭ 18 (+38.46%)
Mutual labels:  offline-first
onepile
Playground for the future of private notes and document management
Stars: ✭ 41 (+215.38%)
Mutual labels:  offline-first
Bolt
⚡ is a fast grunt based, data driven, static site seed project, for rapid web development of PWA's or JAMstack projects
Stars: ✭ 30 (+130.77%)
Mutual labels:  offline-first
angular-http-cache
Speed up your remote requests by automatically caching them on client and add support for offline navigation.
Stars: ✭ 25 (+92.31%)
Mutual labels:  offline-first
remotestorage-widget
⬡ Connect widget for remoteStorage.js
Stars: ✭ 23 (+76.92%)
Mutual labels:  offline-first
offline-first-sw
Service worker example with 404 handling, custom offline page and max TTL for specific file types.
Stars: ✭ 82 (+530.77%)
Mutual labels:  offline-first
y-indexeddb
IndexedDB database adapter for Yjs
Stars: ✭ 57 (+338.46%)
Mutual labels:  offline-first
shopping-list
a PWA to note shopping list and see shopping history
Stars: ✭ 24 (+84.62%)
Mutual labels:  offline-first
app
Source code of intencje.pl website and mobile/desktop apps based on Angular, Firebase, and Capacitor.
Stars: ✭ 12 (-7.69%)
Mutual labels:  offline-first
offline-first-app
OfflineFirst demo app with some WebComponents and PouchDB
Stars: ✭ 27 (+107.69%)
Mutual labels:  offline-first
platyplus
Low-code, offline-first apps with Hasura
Stars: ✭ 22 (+69.23%)
Mutual labels:  offline-first
Paging-3-Sample
This app is created as a sample app which loads movies from Tmdb api and uses Paging 3 library to show it in a Recycler view.
Stars: ✭ 96 (+638.46%)
Mutual labels:  offline-first

Download Build GitHub license Awesome

Teller

Android library that makes your apps faster.

Teller facilitates the downloading, saving, and reading of the cached data of your app. Keep your user's data fresh and remove those annoying loading screens!

project logo

Read the official announcement of Teller to learn more about what it does and why to use it.

iOS developer? Check out the iOS version of Teller.

Announcement - version 1.0

Version 1.0 has been announced and is in development. Check out the issue to learn more. The pre-1.0 code will be in maintenance mode until v1.0 is complete. Pre-1.0 is used by myself in production apps today, but you have been warned that there will more then likely be large breaking changes when 1.0 comes out.

What is Teller?

The data used in your mobile app: user profiles, a collection of photos, list of friends, etc. all have state. Your data is in 1 of many different states:

  • Being fetched for the first time (if it comes from an async network call).
  • Data has been fetched before.
  • Data has been fetched before, but is empty.
  • Data has been fetched before but it's too old. It should be updated to show the user fresh data in the app.

Determining what state your data is in, keeping it up-to-date, and displaying this information to the user in the UI is a big pain. That is where Teller comes in. All you need to do is show Teller how your app's cached data is saved, queried, and fetched and Teller facilities everything else for you.

Teller will query your cached data, parse the cache to determine it's state, fetch fresh data if the cache is too old, and deliver the results to listeners so you can update the UI to your users.

Are you building an offline-first mobile app?

Teller is designed for developers building offline-first mobile apps. If you want to build fast apps without loading screens, check out another great Android library, Wendy-Android (there is an iOS version too). Wendy is designed to sync your device's cached data with a remote API. Think of it like this: Teller is really good at GET calls for your network API, Wendy is really good at PUT, POST, DELETE network API calls. Teller pulls data, Wendy pushes data.

Why use Teller?

The use of a cache in your Android app delivers a better app experience where you can...

  • Remove annoying loading screens from your app.
  • Not worry about your user having a spotty Internet connection.
  • Allow your users to complete tasks in your app, faster.
  • Teller has performance improvements built-in to save your user's battery life.

As app developers, we all understand that the fetching, saving, loading, and maintaining of cache data is a pain. When something is a pain to do, we often ignore that task and move on with building our app.

However, with Teller this pain goes away. By using Teller you will get the benefits of using a cache while not having to maintain that cache.

Here are some more benefits of Teller:

  • Small - The only dependency at this time is RxJava2 (this issue is working to make it optional)
  • Built in Kotlin, for Kotlin
  • Not opinionated. Use any storage method you wish
  • Paging just works
  • Full test suite, full documentation

What are you waiting for? Let's install Teller!

Documentation

The very detailed documentation for Teller can be found here. Go on, check them out!

Author

Levi Bostian image

Contribute

Do you think Teller is cool? Want to help make it more cool? Great! We can use your help.

Open source isn't just writing code. Teller could use your help with any of the following:

  • Finding (and reporting!) bugs.
  • New feature suggestions.
  • Answering questions on issues.
  • Documentation improvements.
  • Reviewing pull requests.
  • Helping to manage issue priorities.
  • Fixing bugs/new features.

The Teller community is a very positive one, and the maintainers are committed to keeping things awesome. Like in over 230,000+ other communities, always assume positive intent; even if a comment sounds mean-spirited, give the person the benefit of the doubt.

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

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].