We were inspired to do this because we wanted to find new ways to network and collaborate with other software developers. This idea came about a while ago, and we decided to stick with it when COVID-19 resulted in a stay at home order. A mobile app such as this allows developers to find new people to meet and work with in the safety of their home.
What CollabWare does
CollabWare is a mobile app that has tinder-like functionality; you can press the heart button to connect with them, or x if you want to move on to the next person. However, instead of dating, the intention of this app is for software project ideas. A developer can input their idea in the bottom, as well as the languages that they are proficient in. If you press the heart button, they will show up in the chat page, and you can contact them to discuss about collaboration. Otherwise, if you click x, the app will show the next developer and their idea.
How we built it
Our team used the Dart programming language along with Flutter, an open-source UI software development kit for Dart. Each team member worked on a separate component of the application: A login page, a home page, a settings page, and a chat page. Each page was built in a separate .dart file, and we had to find a way to have them all interact with each other when a button was pressed. Additionally, we had to integrate this with a cloud service. For our service, we chose GCP's Firebase, which allows us to create data with appropriate fields online, and use it for our project instead of hard-coding the text in.
The login page was a simple login page to allow us to sign up or sign in with our gmail account.
The home page has two buttons on the top: settings and chat, each of which leads to that corresponding page when the icon is pressed.
The settings page allows you to change information about yourself.
The chat page shows a list of developers that you pressed like on.
Challenges we ran into
We ran into many challenges while doing this project. The biggest issue was ensuring the formatting and UI was correct. This took a lot of time to get just right for the emulator. Sometimes, the components would be off screen, causing an overflow. Other times, the data that we wanted to show was cut off because the text was too long, both of which we needed to handle in order for the app to look more aesthetically pleasing
The Google Cloud Platform integration was also an issue. Integration with Google firebase took a while; we had to look through the documentation carefully and learn how to index through all the data that we created & reference it for our use. Before implementing this, everything was hard-coded in, and we had to learn how to use a network image instead of an image in our assets.
Accomplishments that we're proud of
We were proud of successfully integrating our mobile app with GCP, which is something that not many of us have done before. We were able to make a visually pleasing UI, and overall, we were able to achieve the functionality that we wanted to have within the time constraints.
What we learned
For some of us, this was the first time ever using Dart and the Flutter framework. This was a huge learning experience for us to not only learn a new programming language, but to also build a mobile application with it in a couple of days. We learned a lot about Flutter and its "widgets", integration with GCP, and the creation of a good UI. In the end, we were able to learn a new way to do mobile app development.
What's next for CollabWare
CollabWare can implement more chat functionality, hold more users in the home page, and perhaps in the future, replicate the functionality of Tinder further by implementing a swipe feature instead of a button feature.