Goal:

Our team focused on creating an app that pertained and centralized on expanding the people’s knowledge on cultural viewpoints, traditions and learning about new things in different parts of the world. Our goal for creating this web application was to focus on connecting with people from various parts of the world. Therefore, for this web application there were various components that we integrated to ensure that people could connect with people with similar interests, but with some opposing views.

In some ways we wanted to focus on the concept of having a “Pen Pal” but with a twist. With technology vastly increasing, our goal is to connect people with similar interests to allow them to not only share their own experiences about where they live and what their day to day life looks like, but with the opportunity to also see through the use of uploading images how someone else’s life differs from their own, while also getting the opportunity to interact with them through the message chat box in the web application. Our goal is to connect people around the world because it primarily builds a network and opens one to learning and gaining new experiences and viewpoints through the web.

Design and Architecture:

We started by designing the features we wanted the app to have and the back end that would support it. We decided to go with a microservice based architecture since it fit the requirements of the app very nicely and would allow us to have a great seperation of concerns with different people working on different parts of the backend. This also allowed us to work in whichever language we wanted, with two team members working in python and the other two in javascript.

We have 5 microservices that each do different things and speak to each other over the internet via JSON based HTTP requests. These include services that translate messages for easy international communication, user login and authentication, a questionnaire service, and a matching service that pairs users based on interest scores.

For the front end, we decided to skip the hassle of making a phone app and go with a react single page app for the demo. Given the extensive API coverage of features, it is really easy to port the app to different platforms.

We created a web application that makes the user take a quiz about general topics, the topics that we have included currently are religion, food and traditions. Which these general topics in mind we created a quiz that will allow us to assess a user and connect them with another user in a different part of the world with similar and contrasting viewpoints.

As the user is connected with another user that they are matched with, they can chat despite language barriers that may exist. As the chat box has a language translation capability, due to the a language translator API that was incorporated into the chat message box. Therefore, despite the language barriers that may exist, one user can enter text in English and if the user they are communicating with speaks Spanish than the message chat box will deliver the message in the language best suited for that specific user.

Share this project:

Updates