{"id":24652502,"url":"https://github.com/kawasima/back-channeling","last_synced_at":"2025-10-07T11:31:43.384Z","repository":{"id":33916853,"uuid":"37636008","full_name":"kawasima/back-channeling","owner":"kawasima","description":"A thread floating typed chat system.","archived":false,"fork":false,"pushed_at":"2018-02-06T00:31:59.000Z","size":1777,"stargazers_count":81,"open_issues_count":5,"forks_count":7,"subscribers_count":7,"default_branch":"master","last_synced_at":"2023-03-10T22:04:01.584Z","etag":null,"topics":["chat","clojure","datomic"],"latest_commit_sha":null,"homepage":"","language":"Clojure","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"epl-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kawasima.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-06-18T03:52:34.000Z","updated_at":"2022-12-18T03:01:04.000Z","dependencies_parsed_at":"2022-09-13T19:21:27.355Z","dependency_job_id":null,"html_url":"https://github.com/kawasima/back-channeling","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kawasima%2Fback-channeling","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kawasima%2Fback-channeling/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kawasima%2Fback-channeling/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kawasima%2Fback-channeling/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kawasima","download_url":"https://codeload.github.com/kawasima/back-channeling/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":235621522,"owners_count":19019522,"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","clojure","datomic"],"created_at":"2025-01-25T19:15:40.237Z","updated_at":"2025-10-07T11:31:38.003Z","avatar_url":"https://github.com/kawasima.png","language":"Clojure","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Back channeling\n\n![Back channeling](./resources/public/img/logo.png)\n\nBack channeling is a real-time BBS tool.\n\nIt has the features as follows:\n\n- Setup easily\n- Supports markdown format\n- Supports voice chat\n- Curating of comments\n\n## Get started\n\n### On-premise\n\nStart a datomic transactor.\n\n```\n% bin/transactor\n```\n\nStart a back channeling.\n\n```\n% DATOMIC_URL=datomic:free://localhost:4334/bc bin/back_channeling\n```\n\nThe default port is 3009.\n\n![screenshot](http://i.imgur.com/6n1Yj8D.png)\n\n### Heroku\n\n[![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/kawasima/back-channeling)\n\nor\n\n1. Git clone.\n```\n% git clone https://github.com/kawasima/back-channeling.git\n```\n1. Create a heroku application.\n```\n% cd back-channeling\n% heroku create\n```\n1. Deploy the back-channeling.\n```\n% git push heroku master\n```\n\nIt takes only 3 minutes!!\n\n## API\n\nWhen you signup, select a type of bot account.\nYou must remember the authorization code.\n\n![Imgur](http://i.imgur.com/diJJjhT.png)\n\nFirst, you get token by authorization code.\n\n```\nPOST /api/token\n\ncode=[authorization code]\n```\n\nYou will get a response as follows:\n\n```\n{\"access_token\": , \"name\": \"bot\", \"email\": \"bot@example.com\"}\n```\n\nYou must add the token to HTTP headers when you request to BackChanneling web APIs.\n\n```\ncurl  -H 'Accept: application/json' -H 'Authorization: Token xxxxxxxxxxxxxxxx' [API url]\n```\n\nAnd if you send a POST request, Add `Content-Type` to the request header.\n\n```\ncurl -X POST -H 'Accept: application/json' -H 'Content-Type: application/json' -H 'Authorization:  Token xxxxxxxxxxxxxxxx' [API url]\n```\n\n### Board\n\nGet a board data.\n\n```\nGET /api/board/:board-name\n```\n\nAn example of response as follows:\n\n```\n{\n  \"id\":17592186045424,\n  \"name\":\"default\",\n  \"description\":\"Default board\",\n  \"threads\":[\n    {\"id\":17592186045428,\n     \"title\":\"aaa\",\n     \"since\":\"20150722T101724.515Z\",\n     \"last-updated\":\"20150722T110108.015Z\",\n     \"resnum\":1000,\"watchers\":[]},\n    {\"id\":17592186045651,\"title\":\"hohoho\",\n     \"since\":\"20150722T104559.129Z\",\n     \"last-updated\":\"20150929T123754.988Z\",\n     \"watchers\":[\"bot2\"],\"resnum\":1000}\n  ]\n}\n```\n\n### Thread\n\n```\nGET /api/thread/:thread-id\n```\n\n### New thread\n\n```\nPOST /api/board/:board-name/threads\n\n{\"thread/name\": \"New thread\", \"comment/content\": \"Hello\"}\n```\n\n### Post comment\n\n```\nPOST /api/thread/:thread-id/comments\n\n{\"comment/content\": \"Hello\"}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkawasima%2Fback-channeling","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkawasima%2Fback-channeling","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkawasima%2Fback-channeling/lists"}