Skip to content
This repository has been archived by the owner on May 16, 2023. It is now read-only.

Latest commit

 

History

History
68 lines (57 loc) · 2.2 KB

README.md

File metadata and controls

68 lines (57 loc) · 2.2 KB

Update:

As of May 16th I will archive this Repo to continue development here: https://github.com/pkreissel/foryoufeed The new project enables me to do everything in react without a backend server. It is hosted here: https://vercel.com/pkreissel/foryoufeed If you only need the algorithm without all the fuss for your own project you can use this package: https://github.com/pkreissel/fedialgo

fedifeed

Display Mastodon Posts in a curated feed with an user-customisable algorithm

Usage

Example is hosted here: https://fedifeed.herokuapp.com

Be aware this is a very early alpha, so try at your own risk

Steps:

  1. Put your Mastodon Instance Url in the field in the format "https://example.social"
  2. Login with Mastodon
  3. Wait a few seconds for the feed to load (first time takes longer)
  4. Change Feed Algorithm and enjoy

Development

Project is based on Django and React Frameworks. See their docs for further info. To start the backend server you need

pip install -r requirements.txt

Then set some env vars:

FIELD_ENCRYPTION_KEY= // generate this with python manage.py generate_encryption_key
DATABASE_URL=Postgresql Database URL
SECRET_KEY=Some Secret
HOSTED_URL=http://127.0.0.1:8000/ (for local dev)
DEBUG=True

Run the server:

python manage.py makemigrations
python manage.py migrate
python manage.py runserver 

Only the last command is required every time.

To start the frontend dev server:

cd frontend
npx webpack --config webpack.config.js --watch

Todos:

  • Improve CI/CD
  • Add Tests
  • Add more Documentation
  • Add storage for feed Settings
  • Add most liked users to weights
  • Add option to choose which Instances to pull the top posts from
  • More description for weights
  • Add Logout Button and invalidate token
  • Better UI, Support for Polls, Videos, Images, etc.
  • Working Links back into the traditional Mastodon Interface
  • Retweet, Like etc. Buttons
  • Profile View to delete profile etc.
  • Feed should cache posts and only load new ones
  • Add more features for algorithm, e.g. include posts from suggested users, prioritise recent follows etc.
  • Add local machine learning in the browser to tweak the features automatically