A white label social media platform written in PHP / MySQL, presenting a RESTful API. You can write the UX any way you like - VueJs, React, even plain old HTML5 + pure Javascript.
The API and class structure have been strongly influenced by stream-php, without depending on https://getstream.io.
Tags are integral to how Triplesss works. They present an easy way to group, categorise and search for posts that tend to get easily lost on other social platforms.
It's simple, yet reasonably well-featured. There's signicifant scope to extend features.
TODO: Package stuff
PHP7.2^, MySQL5.x^
Give examples
-
composer install smartsite/triplesss
-
Create a new MySQL database called Triplesss
-
Copy / paste tripless.sql into PHPMyAdmin to create tables under Triplesss
-
Profit
$user = new User('Fred');
$channel = new Channel();
$channel->setOwner($user);
$channel->setName("My cool channel");
$feed = new Feed();
$feed->setOwner($user);
$channel->addFeed($feed);
$post = new Post();
$text = new Text("Hello, Tripless!");
$imageSrc = file_get_contents("https://en.wikipedia.org/wiki/Lenna#/media/File:Lenna_(test_image).png");
$image = new Image($imageSrc);
$post->add($text);
$post->add($Image);
$feed->add($post);
$post->setVisibity('me');
$post->setVisibity('all');
$reaction = new Reaction('like');
$post->addReaction($user, $reaction);
$post->addTags('lenna', 'girls', 'hats');
$feed->update();
$feed->findPosts('llamas', 'hats');
easy tiger... this thing isn't even in alpha yet!
TODO:
Image create
Text create
User ceate
Post create
Feed create
... etc.
Explain what these tests test and why
if($thing) {
doSomething();
}
TODO
Elbow grease
- Peter Mariner - Initial work - smartsite
See also the list of contributors who participated in this project.
This project is licensed under the MIT License - see the LICENSE.md file for details
-
Inspired by facebook's klunky, tired looking UX and how difficult Facebook and Insta are in regard to finding content you engaged with as opposed to getting bombarded with content that makes to want to gouge your eyes out.
-
Motivated by Getstream's desire to try and charge you for something you can easily do yourself