Git Product home page Git Product logo

chitchat's Introduction

Chat Demo

Description:

We developed the required chatting application using the very recent cross-platform development tool Flutter. Flutter is a tool developed by Google that makes use of the Dart language. Very recently, and in the middle of our developement process, official version 1.0 has been released, making it actually out of the beta phase.

The app fulfills all the required basic functionalities, as well as implements some of the extra ones.

Such extra functionalities are:

  • Voice-to-text Input: using the Google Speech-to-Text API, a user can record a voice message, which is then converted to text and sent as text message;

  • Link Preview: using the web REST service LinkPreview, whenever a URL is detected in a text message (only the first one), metadata information is retrieved from the web service and shown in the UI to all the users receiving the message;

  • Emoticons Library: users can send both static and dynamic emoticons (as also shown in the screenshots below) as content of a message;

  • Text Processing: using the Google Cloud Translation API, messages are translated from whatever language they are written into a language set by the user. Translation can happen on-demand, by long pressing on a message, or automatically so that the translated content is shown directly next to the message in the original language. The settings regarding the destination language as well as the translation mode (on-demand or automatic) can be changed from the settings screen.

  • Themes Support: users can choose between a light theme (chosen by default) and a dark theme.

Repository structure

The repository contains the following files/folders:

  • README.md: this file;
  • deploy.sh: the deployment bash script needed to deploy cloud functions on GCP and build and run the flutter application on an Android target device;
  • backend: contains firebase-specific configuration files needed to correctly deploy the cloud functions.Then, the subfolder functions contains the NodeJS functions to be deployed;
  • frontend: contains Flutter-specific files representing the mobile application. For more info about how Flutter projects are structured, please visit the official website.

How to run the deployment script

In order to run the deployment script, which handles all the necessary operations in order to deploy the cloud functions and build and run the Android application on a target Android device, first thing needed is to move into the root of the project.

cd application_folder/

Then, executable permissions might not be set and need to be given to the script in order to properly interact with the filesystem.

chmod +x deploy.sh

The last step is as simple as running the deployment script.

./deploy.sh

Screenshots:

chitchat's People

Contributors

javib51 avatar

Watchers

James Cloos 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.