contentmatcher/README.md

79 lines
3.4 KiB
Markdown
Raw Normal View History

2022-06-28 17:14:08 +02:00
# Contentmatcher
2022-08-12 20:17:55 +02:00
## Development quickstart
Setup a database (...). Configure a `.env` file (see `.env.dist`) (...).
Install dependencies with `pipenv`.
```
$ pipenv install
```
Run `app.py`.
```
$ python app.py
```
2022-06-29 11:25:42 +02:00
## Try it
Usually there is a running instance [here](https://cm.kompot.si).
2022-06-28 17:23:34 +02:00
## About
2022-06-29 11:19:52 +02:00
Contentmatcher is a [General Intelligence Agency of Ljubljana](https://gia.kompot.si/about.php) prototype.
2022-06-28 17:23:34 +02:00
2022-06-29 11:19:52 +02:00
Contentmatcher is hosted by [kompot](https://kompot.si/wiki/doku.php), a librehosters community from Ljubljana.
2022-06-28 17:23:34 +02:00
If you have any questions, feedback or if you would like contribute, you can contact us at gia@kompot.si.
2022-04-21 18:53:06 +02:00
2022-06-28 17:14:08 +02:00
## Intstructions
Contentmatcher is a GIA prototype that tries to help you engage with your content and share it with other users. It assumes that you have a heap of content that you would like to reconsider. This heap can take many forms such vast libraries of PDFs on your computer or a long lists of bookmarks.
2022-06-29 11:16:01 +02:00
The app will help you get through this content step by step and continue to show you your content again based on the interest you express as well present you with shared content. If you and at least one more person express a high interest in an **item** a match will appear on your matches page. There you can send them an email to talk about the **item** your interested in.
2022-06-28 17:14:08 +02:00
### Some definitions:
* An **item** is a unit of content (like a PDF you upload).
* **Items** are private by default but they can be shared.
* A **collection** made up of all your private **items** and the **items** shared with you.
* When you start a new session Contentmatcher will create a **deck**, which is a small part of the **collection**.
### Importing your content
2022-06-29 11:16:01 +02:00
For now the only way to import content is to upload your PDFs. We're figuring out how to add different lists of links like browser bookmarks, liked tweets and "watch later" youtube videos.
2022-06-28 17:14:08 +02:00
### Sessions
2022-06-29 11:16:01 +02:00
Going through sessions is the main activity in using Contentmatcher. A session consists of rating and potentially shareing **items** in a **deck**. You can adjust the size of your **deck** in the settings. In sessions you rate items with yes, maybe, no and delete buttons. It's weird because there is no question, maybe think of a question like: "Are you really interested in this **item**?"
2022-06-28 17:14:08 +02:00
2022-06-28 17:23:34 +02:00
There is also the share button. This will create a new **item** with this content for all other users, so it will appear in their **deck**s from now on as well.
2022-06-28 17:14:08 +02:00
### Matches
If you and at least one other user rate an **item** with a yes then a match will appear on your matches page. There you can send a email to talk.
### Feedback
If you have any questions, feedback, ideas or if you would like contribute, please contact us at gia@kompot.si.
## Build instructions
2022-08-12 20:17:55 +02:00
Comming soon...
2022-08-07 16:46:03 +02:00
## TODO
### Design issues
#### Sorting and matching
The overlap of this features creates some issues. Interest in terms of sorting is likely lost when an item is read, but it may not be lost in terms of matching.
### Features
#### Links
* cards can be links
* allow importing of links
* db representation of link-cards
#### Algorithm
* SR-algorithm for decks and appropriate db representation
* algorithm calculates due cards only with the help of rating history and time of rating.
* formula for next interval
* algorithm resets on every 'yes' vote.
### UI
* Flash messages should have an approriate color (error is red...)
* Visual cue to distinguish shared vs private cards
* PDF action to view more than 10 pages.