generated from alecodes/base-template
Add Definitions
commit
c87443df4a
1 changed files with 36 additions and 0 deletions
36
Definitions.md
Normal file
36
Definitions.md
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
# Project definition and Scope
|
||||
|
||||
## Main idea
|
||||
|
||||
The idea came after the realization that 2 small projects could share a portion of the codebase:
|
||||
|
||||
- A synchronization tool between spotify and youtube music
|
||||
- A migration tool from readwise to readeck
|
||||
|
||||
The purpose of the library is to abstract the common part of synchronization between different platforms that have it's data in different formats or structures.
|
||||
|
||||
### What is/will be implemented:
|
||||
|
||||
- [ ] Copy of the external data in a local database
|
||||
- [ ] Interfaces for structure definitions and utilization and consumption for integration in external programs
|
||||
- [ ] Local reconciliation before performing the actual sync, to review what is going to be done and fix wrong matches and or missing ones
|
||||
- [ ] Multiple synchronization methods
|
||||
- [ ] Insert new only
|
||||
- [ ] Mirror
|
||||
- [ ] Provide a callback to find equivalent items on the different platforms, the callback should return a list of the matches:
|
||||
- [ ] 0 matches, no coincidence found
|
||||
- [ ] 1 match, perfect match, use that
|
||||
- [ ] >1 matches, partial matches
|
||||
- [ ] Options to handle equivalences between platforms:
|
||||
- [ ] Insert missing
|
||||
- [ ] Manually create new items
|
||||
- [ ] Select most weighted in a partial match
|
||||
- [ ] Ignore
|
||||
|
||||
### What won't be implemented
|
||||
|
||||
|
||||
### Tech Stack and Misc
|
||||
|
||||
- Use a graph database since we are mostly interested in the relation between items
|
||||
- TBD which one, but since is intended to be used in small programs, sqlite and postgres should suffice with their recursive CTE statements and go handles them natively
|
||||
Reference in a new issue