/zapify

Click to chat with any number without adding it on your contact book. Supports WhatsApp, Telegram and Signal.

Primary LanguageDartGNU Affero General Public License v3.0AGPL-3.0

Zapify

Get it on Google Play

There are many of others applications for the same purpose, but this app is just a "laboratory" to study about Flutter/Dart, try new things and share with anyone who may be interested and mainly because I believe that all software should be open source.

Features

  • Open some popular chat applications that uses phone number, avoiding the need to save contact;
  • Use phone call log helps to contact someone that call to you;
  • Handle tel: protocol click to give more options to contact someone.

Building from source

Requirements

  • Flutter ^3.22.2 or FVM (recommended)
  • Platform SDKs: Android and XCode
  • Registered Android and iOS projects in Firebase

Setup

# Get dependencies
fvm flutter pub get

# Download Firebase configuration
fvm dart run flutter_toolkit:cli project-setup

Run

fvm dart run flutter_toolkit:cli run-app

Unit tests

fvm flutter test

Built with

Some important dependencies to highlight:

  • url_launcher: check and launch applications via deeplink;
  • phone_number: provide countries, validate, parse and format phone numbers;
  • get_it: dart dependency injection;
  • sqlbrite: reactive local storage built on top of sqflite;
  • receive_intent: to retrieve phone number when clicked on link with tel: protocol;
  • flutter_bloc: used in a particular way to help with presentation layer design handling states and events;
  • flutter_toolkit: my personal package to help with some common commands to configure and run application.