A README.md repo: https://docs.github.com/en/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/managing-your-profile-readme
cloudy-rss's Introduction
cloudy-rss's People
cloudy-rss's Issues
Implement feeds management UI
Allow the user to manage their own feed subscriptions
- Plus and edit buttons on hover of category? (not mobile friendly)
- Edit feeds button (in header?)
- List with URLs and minimum sync interval
Implement sync endpoints for WatermelonDB
Add DynamoDB table and indeces to match ElectroDB entities
Add frontend-only OIDC integration
Implement ServiceWorker cache for assets
Implement Watermelon schema and models
Implement category list and feed list
Acceptance criteria:
- 10 items are rendered in the feed list
- If a category is selected, that category is rendered
- Infinite scroll
- Show description inline
Improve initial sync performance
The initial sync performance isn't great. This is due to two slowdowns
- When a user adds a feed subscription, they have to wait until the next sync interval for their changes to propagate to the server
- When the change does propagate to the server, we have to wait for the next cron interval to pick up and sync it
To address this we need to make two changes
1. Use reactive sync
Take advantage of the reactive dexie sync continuation to react to changes immediately. See https://dexie.org/docs/Syncable/Dexie.Syncable.ISyncProtocol#onsuccess--function-continuation
We need to make sure we can combine react
and again
- if not, we'll have to set up our own setInterval for pulling the next batch of changes
2. Sync new feeds immediately
When new subscriptions are created, we can run sync specifically for those feeds. To start with we can do this from within the sync lambda. Alternatively we can set up a queue with a new lambda. Its not super important to avoid duplication with the cron lambda, as the sync writes are idempotent.
Implement cron lambda
Make sure to sync once the minimum requested sync interval has been reached in terms of age.
Handle unreads better
- Show count next to category
- Add "mark all as read"
- Add "mark as read" shortcut icon (optional)
Main UI improvements
- On the main page, show all recent stories instead of welcome message
- Add story list (story + decription + time published)
- When a story with content in story list is clicked, open in third panel
- note: Use same view as used now (typography) but also add date and time
- When a story without content is clicked, open in new window (go to website)
- On mobile, make all 3 panels (feed list, story list, story reader) separate screens with ability to go back.
Consider https://www.smashingmagazine.com/2022/04/breadcrumbs-ux-design/
Consider https://ux.stackexchange.com/questions/25428/is-there-a-better-solution-than-breadcrumbs-to-cascading-categories-on-mobile
Implement delete subscription
On mobile
- Long press -> menu with Unsubscribe only for now
On non-mobile - dot-dot-dot button shown on hover on the side
Implement ServiceWorker caching for images in content
TODO: figure out how to force serviceworker to cache images after frontend feed sync, and figure out whether that makes sense.
Add backend check for OIDC JWT to sync endpoints
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.