{"id":16707500,"url":"https://github.com/dessalines/flowchat","last_synced_at":"2025-04-10T02:23:46.775Z","repository":{"id":149569033,"uuid":"58781449","full_name":"dessalines/flowchat","owner":"dessalines","description":"A reddit alternative featuring communities and live-updating threaded conversations.","archived":false,"fork":false,"pushed_at":"2021-03-16T15:24:05.000Z","size":1877,"stargazers_count":303,"open_issues_count":1,"forks_count":30,"subscribers_count":20,"default_branch":"master","last_synced_at":"2025-04-02T18:56:29.098Z","etag":null,"topics":["chat","discussion","discussion-platform","forum","range-voting"],"latest_commit_sha":null,"homepage":"https://flow-chat.com","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dessalines.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-05-14T00:27:21.000Z","updated_at":"2025-01-27T12:03:37.000Z","dependencies_parsed_at":null,"dependency_job_id":"ef32acca-1d17-4d02-91f8-f903194cf98d","html_url":"https://github.com/dessalines/flowchat","commit_stats":null,"previous_names":[],"tags_count":38,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dessalines%2Fflowchat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dessalines%2Fflowchat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dessalines%2Fflowchat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dessalines%2Fflowchat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dessalines","download_url":"https://codeload.github.com/dessalines/flowchat/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248143411,"owners_count":21054778,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chat","discussion","discussion-platform","forum","range-voting"],"created_at":"2024-10-12T19:39:51.243Z","updated_at":"2025-04-10T02:23:46.753Z","avatar_url":"https://github.com/dessalines.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"[FlowChat](http://flow-chat.com) \u0026mdash; An open-source, self-hostable reddit alternative featuring communities and live-updating threaded conversations.\n==========\n![](http://img.shields.io/version/0.3.1.png?color=green)\n[![Build Status](https://travis-ci.org/dessalines/flowchat.svg?branch=master)](https://travis-ci.org/dessalines/flowchat)\n\n\u003c!---\n\tFlowChat: An open-source, self-hostable reddit alternative featuring communities and live-updating threaded conversations.\n\n\tHey /r/blank, leftist programmer here. I've made a reddit alternative called Flowchat, featuring communities, and live updating threaded conversations. Self-hostable, open-source, explicitly anti-racist.\n\n\tDescription from the [github](https://github.com/dessalines/flowchat):\n\n\u003e [FlowChat](http://flow-chat.com) is an open-source, self-hostable reddit alternative. It has communities, hashtags, **live-updating** threaded conversations, and voting.\n\n\u003e Flowchat tries to solve the problem of having a fluid, free-feeling group chat, while allowing for side conversations so that every comment isn't at the top level, and doesn't disrupt the flow. \n\n\u003e Multiple conversations can take place **at once**, without interrupting the flow of the chatroom.\n\n\u003e Check out the default community, [vanilla](http://flow-chat.com/#/community/1), or create your own.\n\n\u003e It features:\n- Private or public discussions and communities.\n- Sorting by recentness, hotness, or popularity.\n- Antiracist policies including a global slur filter (No racism will be allowed on the main Flowchat instance).\n- Image and video focused, with auto-zoom.\n- Moderation including blocking users, appointing moderators, or deleting comments.\n- NSFW filtering.\n- Stickied posts.\n- Hashtags.\n\n\tI'd also like to invite the moderators of this sub to take over the equivalent leftist community on it. Message my reddit user if your community's already been created and I'll gladly do this. \n--\u003e\n\n[FlowChat](http://flow-chat.com) is an open-source, self-hostable reddit alternative. It has communities, hashtags, **live-updating** threaded conversations, and voting.\n\nFlowchat tries to solve the problem of having a fluid, free-feeling group chat, while allowing for side conversations so that every comment isn't at the top level, and doesn't disrupt the flow. \n\nMultiple conversations can take place **at once**, without interrupting the flow of the chatroom.\n\nCheck out the default community, [vanilla](http://flow-chat.com/#/community/1), or create your own.\n\nIt features:\n- Private or public discussions and communities.\n- Sorting by recentness, hotness, or popularity.\n- Antiracist policies including a global slur filter (No racism will be allowed on the main Flowchat instance).\n- Image and video focused, with auto-zoom.\n- Moderation including blocking users, appointing moderators, or deleting comments.\n- NSFW filtering.\n- Stickied posts.\n- Hashtags.\n\nTech used:\n- [Java Spark](https://github.com/perwendel/spark), [Bootstrap v4](https://github.com/twbs/bootstrap), [Angular.io](https://github.com/angular/angular), [Angular-cli](https://github.com/angular/angular-cli), [ngx-bootstrap](http://valor-software.com/ngx-bootstrap/), [ActiveJDBC](http://javalite.io/activejdbc), [Liquibase](http://www.liquibase.org/), [Postgres](https://www.postgresql.org/), [Markdown-it](https://github.com/markdown-it/markdown-it), [angular2-toaster](https://github.com/Stabzs/Angular2-Toaster)\n\nCheck out a sample discussion [here](http://flow-chat.com/#/discussion/13).\n\nJoin the community: [flowchat](https://www.reddit.com/r/flowchat/)\n\n[Change log](https://github.com/dessalines/flowchat/issues?q=is%3Aissue+is%3Aclosed)\n\n![screen1](https://i.imgur.com/hDeDamH.png)\n\n![screen2](https://i.imgur.com/yTKwfhd.png)\n\n\n\n---\n\n## Installation \n\n*If you want to self-host or develop flowchat.*\n\n### Docker\n\n#### Requirements\n\n- Docker\n- docker-compose\n\n#### Start the docker instance\n\n```sh\ngit clone https://github.com/dessalines/flowchat\ncd flowchat\n// edit ARG ENDPOINT_NAME=http://localhost:4567 in ./Dockerfile to your hostname\ndocker-compose up\n```\n\nGoto to http://localhost:4567\n\n### Local development\n\n#### Requirements\n- Java 8 + Maven\n- Node + npm/yarn, [nvm](https://github.com/creationix/nvm) is the preferred installation method.\n- angular-cli: `npm i -g @angular/cli`\n- Postgres 9.3 or higher\n\n#### Download Flowchat\n`git clone https://github.com/dessalines/flowchat`\n\n#### Setup a postgres database\n\n[Here](https://www.digitalocean.com/community/tutorials/how-to-install-and-use-postgresql-on-ubuntu-16-04) are some instructions to get your postgres DB up and running.\n\n```sh\npsql -c \"create user flowchat with password 'asdf' superuser\"\npsql -c 'create database flowchat with owner flowchat;'\n```\n\n#### Edit your pom.xml file to point to your database\n```sh\ncd flowchat\nvim service/flowchat.properties\n```\n\nEdit it to point to your own database:\n```\n\u003c!--The Database location and login, here's a sample--\u003e\njdbc.url=jdbc\\:postgresql\\://127.0.0.1/flowchat\njdbc.username=flowchat\njdbc.password=asdf\nsorting_created_weight=86400\nsorting_number_of_votes_weight=0.001\nsorting_avg_rank_weight=0.01\nreddit_client_id=\nreddit_client_secret=\nreddit_username=\nreddit_password=\n```\n#### Install flowchat\n\nfor local testing: \n\n`./install_dev.sh` and goto http://localhost:4567/\n\nfor front end angular development, do:\n\n```\ncd ui\nng serve\n```\n\nand goto http://localhost:4200\n\nfor a production environment, edit `ui/config/environment.prod.ts` to point to your hostname, then run:\n\n`./install_prod.sh`\n\nYou can redirect ports in linux to route from port 80 to this port:\n\n`sudo iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 4567`\n\n---\n\n## Bugs and feature requests\n\nHave a bug or a feature request? If your issue isn't [already listed](https://github.com/dessalines/flowchat/issues/), then open a [new issue here](https://github.com/dessalines/flowchat/issues/new).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdessalines%2Fflowchat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdessalines%2Fflowchat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdessalines%2Fflowchat/lists"}