Code Monkey home page Code Monkey logo

andrevneves / flutter_chat_app_with_nodejs Goto Github PK

View Code? Open in Web Editor NEW

This project forked from rodrigobertotti/flutter_chat_app_with_nodejs

0.0 0.0 0.0 787 KB

A Flutter Chat App that supports live video and audio calls streaming with WebRTC, built with Node.js, MySQL and WebSockets, without Firebase.

License: MIT License

Ruby 1.01% C++ 7.90% C 0.48% Objective-C 0.01% Kotlin 0.06% Dart 65.89% TypeScript 16.93% Swift 0.70% HTML 0.65% CMake 6.37%

flutter_chat_app_with_nodejs's Introduction

Flutter Chat App with Node.js, WebSockets and MySQL

A Flutter Chat App that supports live video and audio calls streaming with WebRTC, built with Node.js, MySQL, and WebSockets.

This is a Flutter Chat App without Firebase, but if it doesn't fit for you, it can still be an example of a template to build your Flutter Chat UI

The Node.js server uses Askless for streaming data changes to the Flutter App through WebSockets, so the Flutter widgets are updated in realtime.

Because this project uses TypeORM, you can easily change the database to make this a Flutter Chat App with PostgreSQL, rather than with MySQL

The text messages are also saved in the user device with Hive, so the user doesn't need to be connected to the internet to see his received messages.

commented_askless_example.mp4

๐Ÿ”Š The video above contains audio, click on the right side to turn it on

Getting started

  1. Go to nodejs_websocket_backend and install the dependencies by running npm install

  2. The Node.js server uses TypeORM, TypeORM supports several databases like MySQL, PostgreSQL, MariaDB, SQLite, MS SQL Server, Oracle, SAP Hana and WebSQL. So the first step is to configure the database of your choice. Add your database configuration on nodejs_websocket_backend/src/environment/db.ts, don't commit this file to your repository

  3. In nodejs_websocket_backend/src/environment/jwt-private.key, replace the JWT private key with your own random text, don't also commit this file to your repository

  4. Start your node.js backend server by running the command npm run dev, it will print its URL in the console (local network).

  5. Go to the App created with Flutter on flutter_app/lib/core/data/data_sources/connection_remote_ds.dart and replace the serverUrl with the URL and port that your node.js backend is running

  6. Go to flutter_app/lib/environment.dart and replace the localStorageEncryptionKey with your own random text. don't commit this file to your repository as well.

  7. Run flutter pub get to get the Flutter dependencies

  8. Run the Flutter project on your device :)

Issues

Feel free to open an issue about:

  • โ” questions

  • ๐Ÿ’ก suggestions

  • ๐Ÿœ potential bugs

License

MIT

Contacting me

๐Ÿ“ง [email protected]

flutter_chat_app_with_nodejs's People

Contributors

rodrigobertotti avatar

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.