Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/knotworks/knot-server
A decentralized server to build private social networks from.
https://github.com/knotworks/knot-server
decentralized network social
Last synced: 3 months ago
JSON representation
A decentralized server to build private social networks from.
- Host: GitHub
- URL: https://github.com/knotworks/knot-server
- Owner: knotworks
- License: bsd-3-clause
- Created: 2017-05-09T22:23:28.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2023-04-19T20:26:05.000Z (over 1 year ago)
- Last Synced: 2024-04-29T12:35:06.754Z (7 months ago)
- Topics: decentralized, network, social
- Language: PHP
- Homepage:
- Size: 1.85 MB
- Stars: 22
- Watchers: 2
- Forks: 5
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT
Awesome Lists containing this project
- jimsghstars - knotworks/knot-server - A decentralized server to build private social networks from. (PHP)
README
# Knot Server
![](https://github.com/knotworks/knot-server/workflows/run-tests/badge.svg?branch=master)
A self-hosted social network for families and other small groups.
## Background
My Family and I used an app called [Path](https://path.com) to share private photos and moments for a number of years. It served us well, but unfortunately went the way of the dinosaur unexpectedly. I wanted to build something similar as a contingency plan, and Knot was the result. This repository represents the server-side component that one would self-host to act as the API for their private network, and it's up to you to design and write a client that interfaces with it. If you would like an opinionated starting point for a client application, feel free to check out the [sample client](https://github.com/knotworks/knot-client). Many of the currently supported features exist to mimic much of the functionality of Path, and that's generally the _Path_ (hehe) I'll take. As this project is fully open source, you are more than welcome to add, remove or modify any functionality you wish.
Thanks for checking out Knot!
## Features
### Secure cross-site cookie authentication
Knot's authentication system is powered by [Laravel Sanctum](https://laravel.com/docs/8.x/sanctum). Users sign in with a simple email and password, and the server will send back a cookie to authorize all subsequent requests.
### Photo and video posts
Attach up to 5 photos or videos to a single post.
### Post meta attachments
- Tag friends in your posts
- Add a location to your posts### Simple profile management
- Supports first name, last name, email, password, and avatar.
- Cover image support coming soon.### Post comments
Optionally attach the commenter's location to the comment as well.
### Post Reactions
Simple, customizable reactions to a post without the need to comment.
### Friendship Management
- Send and receieve friend requests
- Accept or deny friend requests
- Remove existing friends### Simple and customizable feed
A ready-to-go (and easily changeable) feed of posts from the authenticated user and their friends.
### Notifications
Receieve notifications when:
- You're added as a friend
- Someone accepts your friend request
- Someone comments on your post
- Someone replies to a comment thread you are a part of
- Someone adds a reaction to one of your postsAll notifications are currently stored in the database, but can be easily updated to go through other channels such as Slack as well.
### Cloud Upload Support
Knot supports [Cloudinary](https://cloudinary.com/) secure signature generation for all media uploads. Cloudinary has a generous free tier, and a really powerful suite of media management and manipulation tools. Check them out!
## Installation
Coming soon...