About Our App |
---|
ChitChat is a Network Layer messenger application that runs on Android environment. It supports only p2p data exchanging, built using Native Android. So Android phone is needed to run this app. Clients are connected through their IP address and port number with the devices under the same local network. |
- IP address and port number login
- A beautiful UI for exchanged data
- Sharing textual files
- Save the exchanged messages whenever anyone wants
- Changing background option which is visible to both peers
- Exchanging messages using voice
- Caesar Cipher encryption & decryption of data for security
- Delete chat history for individual and both the peers
- Splash screen
- Confirmation using alert dialogue in each step and Time of saving chat history
- get own network IP
- Own App Icon with own designed app logo
- Added chat disconnect option
- text selectable, can be copied, pasted, shared
- In total 10 types of UI for conversations
Why my app is correct? |
---|
We have implemented all the basic requirements that a network layer messenger application should contain. We have added a bunch of extra features that is mentioned above. Used too simple logic and stored well documentation for understanding what is going on through the whole code. We have implemented the whole thing using java socket which is the foundation level requirements. The program works so perfectly with the magical GUI. |
Particular Part |
---|
Tazkia did: BG change, saving conversations, splash screen, app icon design, app logo design, designing beautiful UI and magical GUI, background picture selection, chat disconnect option, text selectable, can be copied, pasted, shared,removing chat history, app running, testing. |
Saif did: Socket desiging, file sending, exchanging messages, Caesar Cipher encryption system, exchanged messages using voice, designing beautiful UI and magical GUI, alert dialogue confirmation and timing,removing chat history, app testing, debugging |
[More detail of our app can be found here]
-
Take two separate Android phones (API 19 or higher). Our App will run in the following Android versions:
-
Open the APK that named ChitChat.apk , you can find it on the following location: APK Link. You can also run the app just like other android app by cloning from GitHub.
- Once you run the app you can see the Splash Screen .
![photo_2019-10-12_09-55-36](https://user-images.githubusercontent.com/44334473/66694572-9c3e5d00-ecd6-11e9-96c3-b2ecad5aad07.jpg)
- You need to put value every field except Encryption Key field. But if you put the value of encryption key, then encrypted message will be send to your pair. So, your pair will also need to put the same encryption key for getting exact data for communication.
![picture2](https://user-images.githubusercontent.com/44334473/66694636-5df56d80-ecd7-11e9-80ed-e6399b3a5dea.jpg)
- You can get your IP by pressing Get IP button.
![picture3(get ip)](https://user-images.githubusercontent.com/44334473/66694649-9301c000-ecd7-11e9-8bf7-fb31a6191d15.jpg)
- After giving appropriate value to Receive Port(Listen Port), Target IP, Target Port(Sending Port) and Encryption Key depending on your value( on both the devices) , you will be redirected to a beautiful Chat Screen for exchanging your data.
- In type your message here.. you can write your messages what you wanna send to your pair(pictures from both end).
![picture7(send file and msg reciever)](https://user-images.githubusercontent.com/44334473/66694723-7023db80-ecd8-11e9-9dbb-e4710eabba36.jpg)
- In bottom left corner there has an attachment button which give you some more features such as sending text files and exchange voice messages .
![picture9(file or voice)](https://user-images.githubusercontent.com/44334473/66694729-816ce800-ecd8-11e9-9e57-3e9ce0ac450c.jpg)
![picture11(onlytextfile)](https://user-images.githubusercontent.com/44334473/66694751-cdb82800-ecd8-11e9-9581-9878eb871d10.jpg)
![picture12(sure to snd file)](https://user-images.githubusercontent.com/44334473/66694766-eaecf680-ecd8-11e9-80af-c291ed9aa9db.jpg)
- Exchanging voice messages:
![picture13(Onvoicesendbutton)](https://user-images.githubusercontent.com/44334473/66694779-1243c380-ecd9-11e9-9596-7b03c46ae728.jpg)
- Speech to text in socket application:
![picture14(Speechtotext)](https://user-images.githubusercontent.com/44334473/66694792-3a332700-ecd9-11e9-9c38-d951fb341fc0.jpg) ![picture15(voice_msg_sent)](https://user-images.githubusercontent.com/44334473/66694797-40c19e80-ecd9-11e9-9a60-fbd5430b2784.jpg)
- File will be send and downloaded on the following location: android/data/com.example.p2p/...
![pictuure18(chat history saved)](https://user-images.githubusercontent.com/44334473/66694872-61d6bf00-ecda-11e9-9051-15e471442dc2.jpg)
- In the top right corner there has three menu option for saving conversations, changing background and disconnect your chat with your current pair .
![photo_2019-10-12_10-24-55](https://user-images.githubusercontent.com/44334473/66694888-95194e00-ecda-11e9-9d75-d9a284a82e14.jpg)
- Saving conversations generates a text file named as Chat History(current Time).txt
![picture17(saving convo)](https://user-images.githubusercontent.com/44334473/66694805-6c448900-ecd9-11e9-8acc-176efd108266.jpg)
![picture19(chathistory txt)](https://user-images.githubusercontent.com/44334473/66694806-6fd81000-ecd9-11e9-84f7-d5db60b39cde.jpg) - Changing Background has 5 additional layer (layer3 as default) by which you can change your chat background that is also visible to your pair.
![picture20(background_layouts)](https://user-images.githubusercontent.com/44334473/66694830-c2193100-ecd9-11e9-980c-a1760f6ffa35.jpg)
![picture21(Blue bg example)](https://user-images.githubusercontent.com/44334473/66694831-c47b8b00-ecd9-11e9-8085-f7ba569374d9.jpg)
- Disconncet button disconnects you from your chat and disconnects both of your listening a and sending socket.
![picture22(on disconnect button)](https://user-images.githubusercontent.com/44334473/66694837-ea089480-ecd9-11e9-8d3d-c2cb0062ea88.jpg)
![picture23(disconnected)](https://user-images.githubusercontent.com/44334473/66694838-ee34b200-ecd9-11e9-9f62-4caca70a0ba2.jpg)
- Can't access menu items without logging in.
![picture24(cant_access_menu_item)](https://user-images.githubusercontent.com/44334473/66694848-220fd780-ecda-11e9-8812-e078033461ec.jpg)
- Trying to connect with different encryption key results failure to get actual data:
![picture25(Encryption key 5)](https://user-images.githubusercontent.com/44334473/66694854-37850180-ecda-11e9-904a-ef2a5760ed6d.jpg)
![picture26(en_key 15)](https://user-images.githubusercontent.com/44334473/66694855-394ec500-ecda-11e9-95f6-1965b9c35042.jpg)
![picture27(cant decrypt msg)](https://user-images.githubusercontent.com/44334473/66694856-3c49b580-ecda-11e9-89d3-1e3e0c2ba58d.jpg)
![picture28(cant dycrpt msg)](https://user-images.githubusercontent.com/44334473/66694858-3e137900-ecda-11e9-93e0-042cf377ef26.jpg)
[More detail of our app can be found here]
-
Take two separate Android phones (API 19 or higher). Our App will run in the following Android versions:
-
Open the APK that named ChitChat.apk , you can find it on the following location: APK Link. You can also run the app just like other android app by cloning from GitHub.
- Once you run the app you can see the Splash Screen .
![photo_2019-10-12_09-55-36](https://user-images.githubusercontent.com/44334473/66694572-9c3e5d00-ecd6-11e9-96c3-b2ecad5aad07.jpg)
- You need to put value every field except Encryption Key field. But if you put the value of encryption key, then encrypted message will be send to your pair. So, your pair will also need to put the same encryption key for getting exact data for communication.
![picture2](https://user-images.githubusercontent.com/44334473/66694636-5df56d80-ecd7-11e9-80ed-e6399b3a5dea.jpg)
- You can get your IP by pressing Get IP button.
![picture3(get ip)](https://user-images.githubusercontent.com/44334473/66694649-9301c000-ecd7-11e9-8bf7-fb31a6191d15.jpg)
- After giving appropriate value to Receive Port(Listen Port), Target IP, Target Port(Sending Port) and Encryption Key depending on your value( on both the devices) , you will be redirected to a beautiful Chat Screen for exchanging your data.
- In type your message here.. you can write your messages what you wanna send to your pair(pictures from both end).
![picture7(send file and msg reciever)](https://user-images.githubusercontent.com/44334473/66694723-7023db80-ecd8-11e9-9dbb-e4710eabba36.jpg)
- In bottom left corner there has an attachment button which give you some more features such as sending text files and exchange voice messages .
![picture9(file or voice)](https://user-images.githubusercontent.com/44334473/66694729-816ce800-ecd8-11e9-9e57-3e9ce0ac450c.jpg)
![picture11(onlytextfile)](https://user-images.githubusercontent.com/44334473/66694751-cdb82800-ecd8-11e9-9581-9878eb871d10.jpg)
![picture12(sure to snd file)](https://user-images.githubusercontent.com/44334473/66694766-eaecf680-ecd8-11e9-80af-c291ed9aa9db.jpg)
- Exchanging voice messages:
![picture13(Onvoicesendbutton)](https://user-images.githubusercontent.com/44334473/66694779-1243c380-ecd9-11e9-9596-7b03c46ae728.jpg)
- Speech to text in socket application:
![picture14(Speechtotext)](https://user-images.githubusercontent.com/44334473/66694792-3a332700-ecd9-11e9-9c38-d951fb341fc0.jpg) ![picture15(voice_msg_sent)](https://user-images.githubusercontent.com/44334473/66694797-40c19e80-ecd9-11e9-9a60-fbd5430b2784.jpg)
- File will be send and downloaded on the following location: android/data/com.example.p2p/...
![pictuure18(chat history saved)](https://user-images.githubusercontent.com/44334473/66694872-61d6bf00-ecda-11e9-9051-15e471442dc2.jpg)
- In the top right corner there has three menu option for saving conversations, changing background and disconnect your chat with your current pair .
![photo_2019-10-12_10-24-55](https://user-images.githubusercontent.com/44334473/66694888-95194e00-ecda-11e9-9d75-d9a284a82e14.jpg)
- Saving conversations generates a text file named as Chat History(current Time).txt
![picture17(saving convo)](https://user-images.githubusercontent.com/44334473/66694805-6c448900-ecd9-11e9-8acc-176efd108266.jpg)
![picture19(chathistory txt)](https://user-images.githubusercontent.com/44334473/66694806-6fd81000-ecd9-11e9-84f7-d5db60b39cde.jpg) - Changing Background has 5 additional layer (layer3 as default) by which you can change your chat background that is also visible to your pair.
![picture20(background_layouts)](https://user-images.githubusercontent.com/44334473/66694830-c2193100-ecd9-11e9-980c-a1760f6ffa35.jpg)
![picture21(Blue bg example)](https://user-images.githubusercontent.com/44334473/66694831-c47b8b00-ecd9-11e9-8085-f7ba569374d9.jpg)
- Disconncet button disconnects you from your chat and disconnects both of your listening a and sending socket.
![picture22(on disconnect button)](https://user-images.githubusercontent.com/44334473/66694837-ea089480-ecd9-11e9-8d3d-c2cb0062ea88.jpg)
![picture23(disconnected)](https://user-images.githubusercontent.com/44334473/66694838-ee34b200-ecd9-11e9-9f62-4caca70a0ba2.jpg)
- Can't access menu items without logging in.
![picture24(cant_access_menu_item)](https://user-images.githubusercontent.com/44334473/66694848-220fd780-ecda-11e9-8812-e078033461ec.jpg)
- Trying to connect with different encryption key results failure to get actual data:
![picture25(Encryption key 5)](https://user-images.githubusercontent.com/44334473/66694854-37850180-ecda-11e9-904a-ef2a5760ed6d.jpg)
![picture26(en_key 15)](https://user-images.githubusercontent.com/44334473/66694855-394ec500-ecda-11e9-95f6-1965b9c35042.jpg)
![picture27(cant decrypt msg)](https://user-images.githubusercontent.com/44334473/66694856-3c49b580-ecda-11e9-89d3-1e3e0c2ba58d.jpg)
![picture28(cant dycrpt msg)](https://user-images.githubusercontent.com/44334473/66694858-3e137900-ecda-11e9-93e0-042cf377ef26.jpg)