Skip to content
A full-fledged one-to-one chat app developed entirely in Flutter
Dart Other
  1. Dart 98.2%
  2. Other 1.8%
Branch: master
Clone or download
AmitJoki Merge pull request #6 from AmitJoki/dependabot/npm_and_yarn/functions…

Bump eslint-utils from 1.3.1 to 1.4.2 in /functions
Latest commit cc3c9dd Aug 27, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
android Initial Commit Jun 30, 2019
assets Initial Commit Jun 30, 2019
ios Initial Commit Jun 30, 2019
lib Initial Commit Jun 30, 2019
.firebaserc Initial Commit Jun 30, 2019
.gitignore Initial Commit Jun 30, 2019
.metadata Create Jun 30, 2019 Update Apr 18, 2019 Awesome Flutter badge. Jul 4, 2019
analysis_options.yaml Initial Commit Jun 30, 2019
firebase.json Initial Commit Jun 30, 2019
pubspec.lock Initial Commit Jun 30, 2019
pubspec.yaml Initial Commit Jun 30, 2019

Awesome Flutter


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


  • 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.


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.


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.

You can’t perform that action at this time.