Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pkreissel/fedifeed
Display Mastodon Posts in a curated feed with an user-customisable algorithm
https://github.com/pkreissel/fedifeed
Last synced: 7 days ago
JSON representation
Display Mastodon Posts in a curated feed with an user-customisable algorithm
- Host: GitHub
- URL: https://github.com/pkreissel/fedifeed
- Owner: pkreissel
- Archived: true
- Created: 2023-03-28T06:52:41.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-05-16T16:39:38.000Z (over 1 year ago)
- Last Synced: 2024-08-02T16:54:38.738Z (3 months ago)
- Language: TypeScript
- Size: 1.76 MB
- Stars: 67
- Watchers: 3
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
Awesome Lists containing this project
README
# 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.comBe 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
- [x] Add storage for feed Settings
- [x] Add most liked users to weights
- [ ] Add option to choose which Instances to pull the top posts from
- [ ] More description for weights
- [x] Add Logout Button and invalidate token
- [ ] Better UI, Support for Polls, Videos, Images, etc.
- [ ] Working Links back into the traditional Mastodon Interface
- [x] 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