Skip to content

Ambuj-Singh/In4chan

Repository files navigation

In4chan

End-to-End Encrypted chat application

System Design

In this project I used Firebase as the server and for frontend, I used android xml.

  • It has a persistent server which means even if you lose network, whenever the internet connection is live again it will receive and send message automatically.
  • Chats are stored on the local database using Android and SQLite.
sequenceDiagram
    Alice->>+John: Hello John, how are you?
    Alice->>+John: John, can you hear me?
    John-->>-Alice: Hi Alice, I can hear you!
    John-->>-Alice: I feel great!
Loading
  • Server only holds the message as long as the receiver is offline.

  • Messages sent to server are encrypted on the client device first and then decoded on the receiver device.
flowchart TD;
    A[Sender App] -->|Message| B(Encoder);
    B --> |Encoded Message| C{Server};
    C -->|Encoded Message| D[Receiver App];
    D --> |Encoded Message| E(Decoder);
    E --> |Decoded Message| F(Receiver);
Loading

System GUI

The app is easy-to-use and user-friendly. Everything is labeled and easy to access.

  • Log in and Sign up.

  • Profile List and Chat List.

  • Sending Message and Clearing Chat UI flow.

  • Menu for Browsing Profile and Chat List.

About

End-to-End Encrypted chat application

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages