Giter Club home page Giter Club logo

freechat's Introduction

freechat

Free Chat is a cross-platform socket chat application, which uses 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: 3.5
- Gradle: 3.5.0 or 5.4.1
- Android sdk: 26
  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 1.85
- Flutter SDK
  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

  1. Install mongodb (Tutorial)
  2. Create freechat db in mongodb (Tutorial)
  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

  1. Clone source code
  2. Import server folder into an IDE (Eclipse, Intellij, Netbean)
  3. Run file FreechatStartup

The server opens a websocket at ws://localhost:2208/ws

References

  1. Use embedded ezyfox-server
  2. Use ES6 client sdk
  3. User to ezydata-mongodb

License

Apache License, Version 2.0

freechat's People

Contributors

dariusprimarius avatar datfeed93 avatar dereknguyen-kyberosc avatar trungthanthong avatar tvd12 avatar vu-luong avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

freechat's Issues

Thêm tính năng push notification cho android

Mô tả

  • Khi người dùng ở trạng thái offline, khi có tin nhắn mới sẽ thông báo cho người dùng

Các bước thực hiện

  1. fork 1 bản về github của bạn
  2. phát triển tính năng
  3. tạo pull request vào branch android-push-notification cố gắng chia nhỏ được ra thành nhiều pull request để dễ review

Tham khảo

  1. https://developer.android.com/training/notify-user/build-notification
  2. https://www.tutorialspoint.com/android/android_push_notification.htm
  3. https://stackoverflow.com/questions/40786743/android-push-notification-without-google-service
  4. https://developer.android.com/reference/android/app/Service

Duplicate khi sử dụng tiếng việt

Môi trường:

  • Hệ điều hàng: Mac OSX
  • Trình duyệt chrome
  • Input: tiếng việt simple telex

Flow:

  • Đăng nhập vào site: https://freechat.tvd12.com/login
  • Đăng nhập bằng tài khoản bất kì, hệ thống sẽ tự tạo tài khoản
  • Chọn vào Bot
  • Sử dụng tiếng việt gõ â và nhấn enter

Lỗi:

Input â và enter sẽ thấy 2 message giống hệt nhau như thế này:
Screenshot 2021-05-13 at 13 08 00
File code: https://github.com/youngmonkeys/freechat/blob/master/reactjs/src/views/MessageView/MessageView.jsx#L473

Nhờ các bạn

  • Fork 1 bản về github của mình
  • cd đến thư mục freechat/reactjs
  • chạy npm start để chạy code
  • Sau khi fix bug rồi hãy tạo 1 PR giúp mình nhé
    Cám ơn mọi người!

Android shows every contact message on same screen.

I used 3 emulators to check that, on each emulator I ran android client with different user. But while sending message I saw all senders messages on the same screen. But sending messages are going still only to the choosen user.

encrypted, p2p, private?

Hi tvd12,

After wising up to how little control we have from other mainstream chat solutions, I realized ezyfox chat might be the solution.

Assuming we host our own ezyfox server and setup freechat, are we better than average protected. Are messages encrypted? Are there message logs or is this p2p. Can we purge the message logs.

this is a basic overview request for info. on the security and privacy the ezyfox freechat example. And possible expansion.

thank for your time, I will try to get back on skype soon. been busy as i am sure you remain.

Displaying contacts/ messages data in flutter

Looking for right way to display data from server.

At the moment i save data into array and use it with ListView.builder, unfortunatelly it's not refreshing when new contact appears. It is not possible to use set state inside datahandler.

My handler looks like that :

class _ContactsResponseHandler extends EzyAbstractDataHandler {
  @override
  handle(List data) {
    array = array + data[1][1];
    print(array);
    print(array.length);
    print('-----------------');
  }
}

And I'm displaying it with :

Container(
              height: 300,
              width: double.infinity,
              child: ListView.builder(
                itemCount: array.length,
                itemBuilder: (context, index) {
                  return ListTile(
                    title: Text(array[index]['users'].toString()),
                  );
                },
              ),
            )

Also swaping views/widgets back and forward generate some errors.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.