From f375fb74b7b0ee9009420630222ed37486d67a3b Mon Sep 17 00:00:00 2001 From: shockrah Date: Sat, 12 Dec 2020 16:14:09 -0800 Subject: [PATCH] New reflection on goals --- readme.md | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 56 insertions(+), 2 deletions(-) diff --git a/readme.md b/readme.md index ab31eb0..704f3e1 100644 --- a/readme.md +++ b/readme.md @@ -1,5 +1,59 @@ # FreeChat -Decentralizaed chat platform +## What this is -Currently in a state of design and not implementation. I.E. there's still massive amounts of groundwork that need to be reasoned about before it can be built. +A FOSS chatting platform that brings in more modern features that _a lot_ of people have come to expect. + +> Why not just IRC/Discord/Slack/Mumble etc? + +A tonne of IRC channel are basically dead since so many have moved to Discord/Slack. Why? Because those platforms have features that IRC just doesn't have. A lot of people have deemed those features worth the switch. + +Discord/Slack are proprietary spyware with no real alternative. The quality of the service is high enough for people to ignore the datamining, it's time a proper client came by. + +Mumble could work but has an awful reputation amongst regular non-technical users. + +> So it's a Discord/Slack clone? + +Not really, at least for now chat history is limited kinda like basically every chan/booru. _This can be turned off to preserve all chat history_. + +The biggest difference is the lack of data collection; servers collect the following data: + +* User id - generated by the server + +* User password - generated by the server + +* User name - provided by user + +* User chat - How much depends on how the server was configured or if a message was pinned to NOT be deleted. + +* Users Status - user is online/offline: HOWEVER this is controlled by the user. + +* User permissions - To discern admins from less privileged users. + +## Working Status + +> Is this finished or almost finished? + +Short: The API has basic functionality for chatting but still requires more endpoints to be **fully featured**. So yes the API at least is in a MVP state. But everything else is either in infancy or not done. + + +Long: No. A basic client is still underway and the chat API is missing a metric tonne of features. However The state of the chat API is such that it shouldn't be hard to implement many of the desired endpoints. + + +## How to help - if you want to + + +> Writing chat clients + +I know not everyone wants an electron based client because it's naturally really bloated. But the normans want something that _just werks_ so electron is a good way of doing that. + +The API is dead simple however so it shouldn't be too bad to write a simple client that sends a couple of requests every so often. + +If you choose to write a client and want people to know about it I can include a link to the project here/on the wiki. + +> Testing + +Currently API testing is done with a phony client written in python(client-tests/client.py) and some rust tests. + +Anything from a simple `GET /some-route` + response check to a testing pipeline thing is appreciated. +Since testing doesn't really affect users as long as the test is correct and covers new ground it's welcome.