Skip to content
forked from AmitJoki/Enigma

A full-fledged one-to-one chat app developed entirely in Flutter

License

Notifications You must be signed in to change notification settings

ethanliew/Enigma

 
 

Repository files navigation

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.

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.

About

A full-fledged one-to-one chat app developed entirely in Flutter

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Dart 98.2%
  • Other 1.8%