kellpossible / kellpossible/coster

Figure out how to efficiently persist state in the browser, and synchronize state with the server

Open
#12 5 comments 0 reactions 0 assignees View on GitHub
Research
Dominant language
Rust
Stars
13
Forks
0
PR merge metrics
No merged PRs in 30d

Description

I need to figure out a way to:

+ Load state from `IndexedDB` on startup.
+ Efficiently write state changes to the `IndexedDB`.
+ Investigate a way to avoid storing all the state in the redux store (for large items like images, and big data). And an ergonomic way to lookup items from the state in the database, perhaps asynchronously.
+ Ability to synchronize the data changes in `IndexedDB` associated with state changes, with the server.
+ Ideally do this all in a flexible way that can be turned into a library or design pattern I can use for other projects.

Inspiration Projects:

+ https://github.com/rt2zz/redux-persist

To look into:

- [x] https://stackoverflow.com/questions/33992812/how-to-integrate-redux-with-very-large-data-sets-and-indexeddb/34031497
- [x] https://egghead.io/lessons/javascript-redux-persisting-the-state-to-the-local-storage
- [ ] Git LFS design
- [ ] https://github.com/BerserkerDotNet/BlazorState/blob/master/README.md
- [ ] https://github.com/mrpmorris/Fluxor/blob/master/README.md

Contributor guide

No contributing guide indexed for this repository

Research direction

The issue names IndexedDB, Redux, browser startup, and server synchronization but does not identify files, tests, or entry points. Start by locating the existing browser state and server integration, then compare the listed Redux persistence and Fluxor references. Done would require loading and efficiently persisting state, supporting large items outside Redux, and synchronizing changes with the server in a reusable design.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
api, databases, frontend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.