Skip to content
This repository was archived by the owner on Oct 5, 2022. It is now read-only.
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 19 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,23 @@
# blogspot_reader
# Blogspot Reader

A new Flutter project.
Flutter app with heavy use of Firebase services to read blogs and get notified for new posts.
**Note: Only [Blogger](https://blogger.com) sites.**

## Getting Started
## Tech stack

This project is a starting point for a Flutter application.

A few resources to get you started if this is your first Flutter project:

- [Lab: Write your first Flutter app](https://flutter.dev/docs/get-started/codelab)
- [Cookbook: Useful Flutter samples](https://flutter.dev/docs/cookbook)

For help getting started with Flutter, view our
[online documentation](https://flutter.dev/docs), which offers tutorials,
samples, guidance on mobile development, and a full API reference.
- [Flutter](https://flutter.dev): cross platform app development. This project only builds iOS and Android apps but Flutter has support for desktop and web apps too. Alternatives: React Native, Xamarin.
- [flutter_widget_from_html](https://pub.dev/packages/flutter_widget_from_html): render entry html
- [pull_to_refresh](https://pub.dev/packages/pull_to_refresh): pull-down-to-refresh and pull-up-to-load gestures
- [timeago](https://pub.dev/packages/timeago): relative time description (e.g. "5 minutes ago")
- [webfeed](https://pub.dev/packages/webfeed): Atom feed parser
- [WebSub](https://www.w3.org/TR/websub/) (previously known as PubSubHubbub): subscription protocol for Blogspot feeds
- [Firebase Messaging](https://firebase.google.com/docs/cloud-messaging/): cross platform push notification with support for image. Alternative: APNS for iOS. No alternative for Android.
- [Firebase Functions](https://firebase.google.com/docs/functions/): FaaS / serverless platform. Alternatives: AWS Lambda, Azure Functions.
- `subscribe`: [subscribe to FCM topic](https://firebase.google.com/docs/cloud-messaging/manage-topics#suscribe_and_unsubscribe_using_the) and start [hub.mode=subscribe](https://www.w3.org/TR/websub/#subscriber-sends-subscription-request) flow
- `websub`: implement WebSub protocol [challenge](https://www.w3.org/TR/websub/#hub-verifies-intent) and [callback](https://www.w3.org/TR/websub/#content-distribution) flows
- `resubscribe`: cron, via [Cloud Scheduler](https://cloud.google.com/scheduler/), to refresh WebSub subscriptions
- [Cloud Firestore](https://firebase.google.com/docs/firestore): realtime database service
- `subscriptions` collection: WebSub data
- `users` collection: user data (saved anonymously, via [Firebase Auth](https://firebase.google.com/docs/auth/))
- `users/{userId}/sites`: sites list