Social Networking App
Social and Community App
Project Overview
Belong is a social networking app where user registered with the platform using different signup methods and can make new friends and join or creates a community. This app creates an account with a profile based on the user's interest activity and proficiency level. Users can choose from the list of events added by the admin and create public or private events for friends/community and invite other users.
Users can chat with other users from the event directly in a group or in one-to-one. They can also find the nearby event based on their location, date, and activity type filter selected by the user.
Features
Create Account
The user can signup with the basic email and password and can also signup using different social media accounts. They can select preferred round types from the list and will get customized content.
Round Feed
App users will be able to browse from different rounds that are happing around after a successful registration. These listings are based on the proficiency selected by the individual at signup time or from the profile section and their current location. This page also displays the upcoming rounds that the user is registered for.
Search Nearby Round
The app has an integration of google maps. So, users can easily search for the nearby upcoming rounds or rounds that are ongoing at their locations. Users can also apply different filters to further refine their search results.
Create/Edit Round
The user can create a new round with the specific activities and round type with the specific date-time and location. Users can also choose an option to create repeat rounds and public rounds. A host can also send the invitation to the other users.
Round Details
An individual can explore the nearby rounds and can get to the details of rounds. Users can join the round and also can indicate that going to the event or not. Users can start the chat with the joined and interested participants from here.
Real-time Chat
A participant in the round can send a friend request to the other participants to initiate the conversation. Once accepted they can chat with each other in real time and can also share attachments like PDFs, Docs, etc. Participants can also do a group chat within the round with other participants.
Challenges
One of the challenges for the team is to build the chat module with functionality to send attachments also with a messages. And we are required to maintain the order of the messages and attachments in chat while sending. Also, need to maintain the chat history and cache for the chat messages as we are using the web socket for the real-time chat.
Solutions
We implemented the custom queue which follows the FIFO accounting method to handle and maintain the order of the chat messages and attachments in real-time chat.
Mobile App Technology Stack
Cross-Platform
React Native
A framework for building native apps with React.
Crash Reports
Crashlytics
For crash reporting we used crashlytics from firebase. The most powerful, yet lightest weight crash reporting solution.
Social Login
Integrated Google Oauth API for login with Google
Real-Time Chat
Websocket
The WebSocket API is an advanced technology that makes it possible to open a two-way interactive communication session between the user’s browser and a server.
Backend and Web Technologies
Python
Python
Python is a high-level, general-purpose programming language. Its design philosophy emphasizes code readability with the use of significant indentation.
Features
Real-time chat
Achievement badges
Attachment sharing
Location-based refined search