blabla
 
 
 
 
Go to file
urosm 92f710bf74 fix styling
# On branch master
# Your branch is up to date with 'origin/master'.
#
# Changes to be committed:
#   (use "git restore --staged <file>..." to unstage)
# 	modified:   static/style.css
#
# Changes not staged for commit:
#   (use "git add/rm <file>..." to update what will be committed)
#   (use "git restore <file>..." to discard changes in working directory)
# 	deleted:    populate_db_once.py
# 	modified:   sr_session.py
2022-09-05 00:16:19 +02:00
static fix styling 2022-09-05 00:16:19 +02:00
templates added due cards and interval info to ui 2022-08-16 10:31:59 +02:00
.env.dist
.gitignore add Pipfile.lock for old pythons 2022-08-14 11:47:55 +02:00
LICENSE
README.md update readme 2022-09-05 00:14:50 +02:00
app.py removing prob_deck stuff 2022-08-16 10:44:13 +02:00
auth.py styling and template refactoring 2022-08-12 19:51:55 +02:00
config.py
create_db.py added a Base for ratings 2022-08-07 16:35:28 +02:00
deck.py cleanup 2022-06-23 16:28:49 +02:00
get_files.py
get_public_links.py
matches.py selfmatch bug fixed 2022-06-23 22:02:49 +02:00
menu.py interval ui stuff and prob_deck removal 2022-08-16 10:50:03 +02:00
populate_db_once.py cleanup 2022-07-07 17:20:15 +02:00
prob_session.py collecting all functionality related to this in one file 2022-08-16 10:41:56 +02:00
requirements.txt Return to python-venv, update readme, add `requirements.txt` 2022-09-05 00:11:21 +02:00
search_cloud.py
settings.py add a starting session with each function, not a global variable to fix registered user not found in db bug 2022-07-08 00:36:21 +02:00
share.py fixed some bugs with the get-all-shared for new users 2022-07-15 12:27:24 +02:00
sr_session.py fixing bugs... 2022-08-16 10:50:41 +02:00
test.py
upload.py styling and template refactoring 2022-08-12 19:51:55 +02:00

README.md

Contentmatcher

Development quickstart

Create a virtual environment.

$ python3 -m venv env

Activate the virtual environment.

$ source env/bin/activate

Install the required packages.

$ pip3 install -r requirements.txt

Create a database.

$ mysql
mysql> create database contentmatcher;

Configure the .env file with appropriate values.

$ cp .env.dist .env

Run create_db.py

$ python3 create_db.py

Run app.py.

$ python3 app.py

Try it

Usually there is a running instance here.

About

Contentmatcher is a General Intelligence Agency of Ljubljana prototype.

Contentmatcher is hosted by kompot, a librehosters community from Ljubljana.

If you have any questions, feedback or if you would like contribute, you can contact us at gia@kompot.si.

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.

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.

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

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.

Sessions

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?"

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 decks from now on as well.

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

Comming soon...

TODO

Bugs

  • email adress bug in matches

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.
  • How to remove cards while still wanting to match on them (absolute interest vs match on "yes")

Features

  • cards can be links
  • allow importing of links
  • db representation of link-cards
  • display link in iframe or simmilar

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.
  • Fix matches view
  • Email when at least x cards are due, maybe like x = k max_due
  • Keyboard support for all actions
    • scroll PDF
    • links and buttons

Testing

  • there is no testing.