Most of the Universities and Offices do not allow internet access (on mobile) during working hours. It's a good measure for maintaining concentration of employees in their work and for students to avoid usage of mobile phones during lectures. But sometimes it isn't good as a number of times in a day we have to share files and texts among each other such as notes etc.
What it does
So I brought a solution for this problem. "InChat" helps users to connect with each other sitting close but cannot talk in order to maintain decorum. I made 2 modes of connection. -> Chat through Wi-Fi -> Chat through Bluetooth
How we built it
I used the Socket Connection programming generally taught in Networking classes of engineering and implemented the same in Android Studio. This app is useful in the Library also, as silence is required to maintain it so often we need to talk, to discuss. This app can be proved useful there. I was planning to make this application work in online and offline ways, but due to time constraints, I just focused on the MVP. For the Bluetooth part, just follow the documentation on Google Developers page. The UI isn't that good as used CardView Layouts but did not let down for the overall functionality of this app.
Challenges we ran into
I got stuck in the Wi-Fi Chat part as the Socket programming I studied in our classes was based on Computers connected over ethernet. But here implementing the same feature for mobiles was quite different. So I used a common router for maintaining connections as in the campus also the same LAN is connecting all the devices. And for the Bluetooth module, it was always reading paired devices, so had to use StackOverflow a couple of times to fix that problem. Another user-centric challenge was to again and again search for his local IP address, so I displayed the IP address on top of the chat screen. And can be copied with a single tap and as all devices are connected on a common network, only the last 2 digits need to be changed.
Accomplishments that we're proud of
I am able to solve the most common problem I personally faced a lot of times at my institute. And also I have seen my seniors complaining that their organization has banned even YouTube.com on their devices during office hours, so in that case they have to struggle a lot with this. Also in the library, I do not need to go next to the person I want to talk to, instead I can directly ping him even if my networks are void.
What we learned
Learning was a lot in this hack, as I got familiar with networking a lot and the Bluetooth API and how much every API is different and also had to maintain Bluetooth sensors active for a limited time as for longer it may consume a lot of battery.
What's next for InChat
Will integrate it with an online chat application maybe using firebase or socket.io so that it can work in online as well as offline mode.