当前位置: 首页 > 软件库 > 大数据 > 数据查询 >

CatchUp

An app for catching up on things.
授权协议 Apache-2.0 License
开发语言 Java
所属分类 大数据、 数据查询
软件类型 开源软件
地区 不详
投 递 者 闻法
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

CatchUp

An app for catching up on things.

https://www.zacsweers.dev/catching-up-on-catchup-introduction/

Motivations

There's a lot of services I like reading up on throughout the day. Most of these services havededicated apps for consuming them, but often times I just want to skim the front page and only deepdive occasionally. Enter CatchUp: a high level presentation of the "front page" of several servicesin short form, and intelligent deeplinking into dedicated apps if you want to go further.

CatchUp is not an all-purpose client for each of these services, just the concierge for at-a-glancedetails and router for getting on your way. It does not support login for any service, it does notsupport customization/filtering of their feed. CatchUp is dumb, and you should use one of the manygreat dedicated apps for this if you want more integration features.

CatchUp is also very much a testing ground for things I personally dive into, from architecture,libraries, patterns, API quirks, and more. It's been a very fun project to spike test new things.

Features

  • Multiple services
  • Hacker News
  • Reddit
  • Medium
  • Product Hunt
  • Slashdot
  • Designer News
  • Dribbble
  • GitHub
  • Infinite scrolling on supported services
  • Pleasant, simple, consistent UI for across services
  • Night mode
  • Smart deeplinking into dedicated apps

Technologies

  • Kotlin
  • RxJava 2/AutoDispose
  • Debugging tooling as a first class citizen in the debug build
  • Leak Canary, Scalpel, debug drawer, Flipper, bug reporting, the works
  • AndroidX/Jetpack
  • Dagger 2 + Hilt
  • One of the more interesting parts of CatchUp is that its service architecture is a Dagger-powered plugin system
  • Room
  • Firebase
  • Coil
  • Apollo GraphQL
  • Standard Square buffet of Okio/OkHttp 3/Retrofit 2/Moshi
  • Inspector
  • Anvil
  • KSP

There's a lot of neat/interesting little tidbits in the CatchUp source code that I plan to write amini blog series about. Each service has its own nuances that make them unique to work with in code.

Testing

While this is a personal pet project, extensive tests can be found here.

Influences

This app owes a lot of its inspiration, implementation details, and general inner workings to thework of others. Particularly:

Development

If you'd like to build CatchUp locally, you should be able to just clone and build with noissues. The project requires JDK 11 or higher.

CatchUp tends to keep up with Android Studio canaries, so you may have to use a canary version.Check the Android Gradle Plugin SharedBuildVersions.agp version in buildSrc/build.gradle.kts.

If you want to build with working services, some require API keys. See thewiki for more details onwhich services require keys.

Bug fixes are always welcome. Tests are too if you're into that kinda thing, but I'm not activelytrying to make this project a shining icon of TDD. For new features or otherwise significant work,please discuss in an issue first.

License

Copyright (C) 2017 Zac Sweers

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
  • 1 http://101.130.92.32:28018/_replSet  监控网站上报错:replSet error RS102 too stale to catch up Tue Aug 13 05:18:06 [rsSync] replSet See http://www.mongodb.org/display/DOCS/Resyncing+a+Very+Stale+Replica+Set

  •   i found i fall behind ZhenYuan too much. he has been studying all the day. and i can't catch up with him. There are many things i need to study, he go too far before me. i feel i have pull away too

  • [rsSync] replSet syncing to: 192.168.1.191:10001 Fri Jun  1 08:45:26 [rsSync] replSet error RS102 too stale to catch up, at least from 192.168.1.191:10001 Fri Jun  1 08:45:26 [rsSync] replSet our last

  • How about I'll, uh, catch up with you in the Ice Age. ---《老友记》 第一季 第二集 我到冰河期找你。 赶上 Let's hurry and catch up with the group ahead. 我们快点,赶上前面的那一伙人。 2.对...产生预期的坏影响(或恶果) Smoking will catch up with you soo