{"id":19714937,"url":"https://github.com/youngmonkeys/freechat","last_synced_at":"2025-04-29T20:30:34.018Z","repository":{"id":36703017,"uuid":"152706853","full_name":"youngmonkeys/freechat","owner":"youngmonkeys","description":"freechat for everyone","archived":false,"fork":false,"pushed_at":"2024-11-23T03:15:07.000Z","size":8437,"stargazers_count":34,"open_issues_count":2,"forks_count":20,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-05T18:54:04.115Z","etag":null,"topics":["android","chat","ios","kotlin","private-chat","reactjs","realtime-chat","socket-chat","ssl-chat","swift"],"latest_commit_sha":null,"homepage":"https://freechat.tvd12.com/login","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/youngmonkeys.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2018-10-12T06:52:47.000Z","updated_at":"2024-11-23T03:15:11.000Z","dependencies_parsed_at":"2024-07-13T09:27:35.554Z","dependency_job_id":"92d3db06-bdcb-4da7-a075-28c68260bd36","html_url":"https://github.com/youngmonkeys/freechat","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/youngmonkeys%2Ffreechat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/youngmonkeys%2Ffreechat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/youngmonkeys%2Ffreechat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/youngmonkeys%2Ffreechat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/youngmonkeys","download_url":"https://codeload.github.com/youngmonkeys/freechat/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251578217,"owners_count":21611992,"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":["android","chat","ios","kotlin","private-chat","reactjs","realtime-chat","socket-chat","ssl-chat","swift"],"created_at":"2024-11-11T22:36:41.941Z","updated_at":"2025-04-29T20:30:32.228Z","avatar_url":"https://github.com/youngmonkeys.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# freechat\nFree Chat is a cross-platform socket chat application, which uses [ezyfox-server](https://github.com/youngmonkeys/ezyfox-server) and it's client SDKs\n\n\u003e Official site: [https://youngmonkeys.org/freechat/]\n\n# Supports\n\n- ReactJS\n- Android Java\n- Android Kotlin (developing)\n- iOS swift (developing)\n\n# Usage\n\n## ReactJS build\n \n1. Clone source code\n2. Move to `reactjs` folder\n3. Run `npm install`\n4. Run `npm start`\n \n## Android build\n \n Required environment:\n \n ```\n - Android studio : Flamingo | 2022.2.1 Patch 2 May 24, 2023 [download - `https://developer.android.com/studio/archive?hl=en`]\n - Android gradle plugin : 7.2.0\n - Gradle version : 7.3.3\n - Android sdk : 28\n ```\n \n1. Clone source code\n2. Run ```git submodule update --init --recursive``` to clone submodules\n3. Import project to ```Android studio```\n4. Build and done\n\n## Flutter build\n\n Required environment:\n\n ```\n - Visual Studio Code\n - Flutter : 3.22.2\n - Important : Flutter uses Android studios gradle to generate apk, so all the requirements from ```Android Build``` above, must be installed.\n\t\t\t         Not tested with iOs build yet.\n ```\n\n1. Follow instruction for EzyFox Flutter Client SDK - ```https://youngmonkeys.org/ezyfox-server/guides/ezyfox-flutter-client-sdk``` \n2. Place 3 files (chat.dart, socket_proxy.dart, main.dart) from flutter_client directory to your project\n3. File main.dart is register/login page you can ommit and navigate directly to chat.dart passing ```username``` and ```password``` from your auth screen.\n4. Build and done\n\n## iOS build\n\n1. Clone source code\n2. Run ```git submodule update --init --recursive``` to clone submodules\n3. Open project on ```XCode```\n4. Build and run\n\n## Server-side build and run\n\n Required environment:\n ```\n - Java JDK version : 11 [ ```OpenJDK11U-jdk_x64_windows_hotspot_11.0.23_9.msi```]\n ```\n\n1. Install mongodb ([Tutorial](https://docs.mongodb.com/manual/administration/install-community/))\n2. Create `freechat` db with collection `freechat` in mongodb ([Tutorial](https://www.mongodb.com/basics/create-database))\n3. Create `root` user using mongo shell:\n```\n\tuse freechat\n\tdb.createUser(\n\t   {\n\t     user:\"root\",\n\t     pwd:\"123456\",\n\t     roles:[ { role: \"readWrite\", db: \"freechat\" }]\n\t   }\n\t)\n```\n\u003e Update `server/freechat-plugin/config/config.properties` file to use another password\n4. Clone source code\n5. Import ```server``` folder into an IDE (Eclipse, Intellij, Netbean, Visual Studio Code)\n7. Server requires ```OpenJDK11U-jdk_x64_windows_hotspot_11.0.23_9.msi``` to run, otherwise it will refuse to work with database (it will discover db but won't read/write)\n8. Run file [FreechatStartup](https://github.com/youngmonkeys/freechat/blob/master/server/freechat-startup/src/main/java/com/tvd12/freechat/FreechatStartup.java)\n\u003e The server opens a websocket at `ws://localhost:2208/ws`\n\n# References\n1. [Use embedded ezyfox-server](https://youngmonkeys.org/use-embedded-server/)\n2. [Use ES6 client sdk](https://youngmonkeys.org/ezyfox-es6-client-sdk/)\n3. [User to ezydata-mongodb](https://youngmonkeys.org/introduce-to-ezymongo/)\n\n# License\n\nApache License, Version 2.0\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyoungmonkeys%2Ffreechat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyoungmonkeys%2Ffreechat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyoungmonkeys%2Ffreechat/lists"}