All Projects → AmitJoki → Enigma

AmitJoki / Enigma

Licence: agpl-3.0
A full-fledged one-to-one chat app developed entirely in Flutter

Programming Languages

dart
5743 projects

Projects that are alternatives of or similar to Enigma

Darkwire.io
End-to-end encrypted instant web chat
Stars: ✭ 594 (+87.97%)
Mutual labels:  chat, chat-application, privacy
Chat21 Android Sdk
Android Chat SDK built on Firebase
Stars: ✭ 204 (-35.44%)
Mutual labels:  chat, chat-application
Chatlayout
ChatLayout is an alternative solution to MessageKit. It uses custom UICollectionViewLayout to provide you full control over the presentation as well as all the tools available in UICollectionView. It supports dynamic cells and supplementary view sizes.
Stars: ✭ 184 (-41.77%)
Mutual labels:  chat, chat-application
Whatspup
🔳 WhatsApp chat from commandline/console/cli using GoogleChrome puppeteer
Stars: ✭ 310 (-1.9%)
Mutual labels:  chat, privacy
Webapp
Tinode web chat using React
Stars: ✭ 156 (-50.63%)
Mutual labels:  chat, chat-application
Emberclear
Encrypted Chat. No History. No Logs.
Stars: ✭ 157 (-50.32%)
Mutual labels:  chat, privacy
Nio
💬 Nio is an upcoming matrix client for iOS.
Stars: ✭ 235 (-25.63%)
Mutual labels:  chat, chat-application
Ng Chat
💬 A simple facebook/linkedin lookalike chat module for Angular applications.
Stars: ✭ 131 (-58.54%)
Mutual labels:  chat, chat-application
NIM iOS UIKit
网易云信 iOS UI 组件,提供聊天界面,文本消息,图片消息,语音消息,视频消息,地理位置消息,自定义消息(阅后即焚)等消息示例。#推荐客户得比特币/京东卡,现在推荐使用网易云信,最低得0.02BTC或3000元京东卡/单,点击参与:https://yunxin.163.com/promotion/recommend
Stars: ✭ 1,371 (+333.86%)
Mutual labels:  chat, chat-application
SocketIO Chat APP
This is the simple Chat Application in which user can join the room and continue chatting with others.
Stars: ✭ 50 (-84.18%)
Mutual labels:  chat, chat-application
Stream Chat Swift
Official iOS SDK for Stream Chat
Stars: ✭ 277 (-12.34%)
Mutual labels:  chat, chat-application
Igdm
Desktop application for Instagram DMs
Stars: ✭ 1,880 (+494.94%)
Mutual labels:  chat, chat-application
Chat Realtime
Public & Private message. MySQL & Firebase.
Stars: ✭ 147 (-53.48%)
Mutual labels:  chat, chat-application
Space
A real time chat app for developers built using React, Redux, Electron and Firebase
Stars: ✭ 161 (-49.05%)
Mutual labels:  chat, chat-application
Chatair Android
🔥 A highly advance featured chat app in android using Firestore
Stars: ✭ 132 (-58.23%)
Mutual labels:  chat, chat-application
Vuvuzela
Private messaging system that hides metadata
Stars: ✭ 2,423 (+666.77%)
Mutual labels:  chat, privacy
Falconmessenger
🌟🌟🌟🌟🌟 Falcon Messenger is a Fast and Beautiful cloud-based messaging app. With iOS and IPadOS Support. Available on the App Store.
Stars: ✭ 310 (-1.9%)
Mutual labels:  chat, chat-application
Ios
Tinodios: Tinode Messaging Client for iOS
Stars: ✭ 119 (-62.34%)
Mutual labels:  chat, chat-application
Im service
golang im server
Stars: ✭ 1,694 (+436.08%)
Mutual labels:  chat, chat-application
Chattt
❯❯❯ Chat without leaving your terminal
Stars: ✭ 239 (-24.37%)
Mutual labels:  chat, chat-application
Awesome Flutter

Enigma

Enigma - A minimalist, locked-down one-to-one chat app.

Usage

  • Flutter - Get Started
  • Since this is a Firebase dependent project, create a Firebase Project and enable
    • Firebase Phone Authentication (for authentication)
    • Cloud Firestore (not Realtime Database)
    • Firebase Storage (for storing images)
    • Firebase In-App Messaging (for custom messages)
  • After enabling the above features, download the google-services.json and paste it in android/app folder.
  • Do flutter packages get to get the packages.
  • Use a device or an emulator and run flutter run.

Notifications

  1. Enable FCM in your Firebase Console.
  2. Notifications use Cloud Functions. Copy the functions directory to the root of your project.
  3. Do firebase deploy --only functions You need to have firebase-cli installed for this command to execute.

Screenshots

Screenshot #1

Firebase Rules for Storage and Cloud Firestore

I've used the following basic rule

allow read, write: if request.auth.uid != null;

but you can be more restrictive if you so wish. For more info - Get Started on Writing Rules

Get it on Google Play

Google Play and the Google Play logo are trademarks of Google LLC.

Features

Authentication: Passcode authentication is enabled which is needed to unlock hidden and locked chats. If your device supports fingerprint authentication, then you can use it as well.

End-To-End Encryption: Your messages are encrypted right from the moment you send it. This makes sure that only the recipient receives the message and NO ONE ELSE.

Hide Chats: You can hide chats to protect against prying eyes. YOU will have to authorize to unhide the chats.

Lock Chats: Hidden chats not secure enough? Lock individual chats which only open after YOU have authorized it.

End Conversations: Once you're done with a conversation, you can choose to end it, by swiping your friend's message from left to right. Doing so will delete all the conversation up until that message.

Save messages: Double tap on any message to save it locally. Saved messages can be viewed by swiping right to left on the chat screen.

No pesky notifications: We do not believe in keeping users addicted to our app by frequent notifications. Chat when you feel like it. We do not bother you with notifications.

No forwarding: Enigma is developed to be an intimate one-to-one chat application. There's no option for forwarding messages. Hence no fake news.

Beautiful, minimal UI: The UI is uncluttered and beautiful. Gestures are used to make it pragmatic instead of using additional screen space.

Less than 10 MB: All the above features are tucked under a measely < 10 MB APK Size.

Acknowledgement

Passcode Widget: https://github.com/xPutnikx/flutter-passcode Apache 2.0 License

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].