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!
- 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);
The app is easy-to-use and user-friendly. Everything is labeled and easy to access.