https://github.com/youngmonkeys/freechat
freechat for everyone
https://github.com/youngmonkeys/freechat
android chat ios kotlin private-chat reactjs realtime-chat socket-chat ssl-chat swift
Last synced: 5 months ago
JSON representation
freechat for everyone
- Host: GitHub
- URL: https://github.com/youngmonkeys/freechat
- Owner: youngmonkeys
- Created: 2018-10-12T06:52:47.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2024-11-23T03:15:07.000Z (11 months ago)
- Last Synced: 2025-04-05T18:54:04.115Z (6 months ago)
- Topics: android, chat, ios, kotlin, private-chat, reactjs, realtime-chat, socket-chat, ssl-chat, swift
- Language: Java
- Homepage: https://freechat.tvd12.com/login
- Size: 8.05 MB
- Stars: 34
- Watchers: 3
- Forks: 20
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# freechat
Free Chat is a cross-platform socket chat application, which uses [ezyfox-server](https://github.com/youngmonkeys/ezyfox-server) and it's client SDKs> Official site: [https://youngmonkeys.org/freechat/]
# Supports
- ReactJS
- Android Java
- Android Kotlin (developing)
- iOS swift (developing)# Usage
## ReactJS build
1. Clone source code
2. Move to `reactjs` folder
3. Run `npm install`
4. Run `npm start`
## Android build
Required environment:
```
- Android studio : Flamingo | 2022.2.1 Patch 2 May 24, 2023 [download - `https://developer.android.com/studio/archive?hl=en`]
- Android gradle plugin : 7.2.0
- Gradle version : 7.3.3
- Android sdk : 28
```
1. Clone source code
2. Run ```git submodule update --init --recursive``` to clone submodules
3. Import project to ```Android studio```
4. Build and done## Flutter build
Required environment:
```
- Visual Studio Code
- Flutter : 3.22.2
- Important : Flutter uses Android studios gradle to generate apk, so all the requirements from ```Android Build``` above, must be installed.
Not tested with iOs build yet.
```1. Follow instruction for EzyFox Flutter Client SDK - ```https://youngmonkeys.org/ezyfox-server/guides/ezyfox-flutter-client-sdk```
2. Place 3 files (chat.dart, socket_proxy.dart, main.dart) from flutter_client directory to your project
3. File main.dart is register/login page you can ommit and navigate directly to chat.dart passing ```username``` and ```password``` from your auth screen.
4. Build and done## iOS build
1. Clone source code
2. Run ```git submodule update --init --recursive``` to clone submodules
3. Open project on ```XCode```
4. Build and run## Server-side build and run
Required environment:
```
- Java JDK version : 11 [ ```OpenJDK11U-jdk_x64_windows_hotspot_11.0.23_9.msi```]
```1. Install mongodb ([Tutorial](https://docs.mongodb.com/manual/administration/install-community/))
2. Create `freechat` db with collection `freechat` in mongodb ([Tutorial](https://www.mongodb.com/basics/create-database))
3. Create `root` user using mongo shell:
```
use freechat
db.createUser(
{
user:"root",
pwd:"123456",
roles:[ { role: "readWrite", db: "freechat" }]
}
)
```
> Update `server/freechat-plugin/config/config.properties` file to use another password
4. Clone source code
5. Import ```server``` folder into an IDE (Eclipse, Intellij, Netbean, Visual Studio Code)
7. 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)
8. Run file [FreechatStartup](https://github.com/youngmonkeys/freechat/blob/master/server/freechat-startup/src/main/java/com/tvd12/freechat/FreechatStartup.java)
> The server opens a websocket at `ws://localhost:2208/ws`# References
1. [Use embedded ezyfox-server](https://youngmonkeys.org/use-embedded-server/)
2. [Use ES6 client sdk](https://youngmonkeys.org/ezyfox-es6-client-sdk/)
3. [User to ezydata-mongodb](https://youngmonkeys.org/introduce-to-ezymongo/)# License
Apache License, Version 2.0