Version 3.0

 

Welcome back !


    “Everything you can imagine is real.”― Pablo Picasso



Login page:

  • When a new user wants to use the application, they must signup first. 
  • For  doing so, the user has to give their personal details such as name, e-mail, username and password. 
  • Once registered user can directly log into the application.
  • If the correct credentials are provided the user will be guided to the interests page



Let's dive into the steps of implementation of segregating users on their interests;


So, each users interest will be stored in the data base.

  • We can  use K-means clustering to put people with similar methods into the same cluster.
  • Convert the dataset into numerical values if it is not already, so that calculations can be performed.
  • The User interest will be the cluster centroid.
  • All the remaining users interests arrays will be considered as datapoints.

The model would calculate the distance between the datapoint & all the centroids, and will be assigned to the cluster with the nearest centroid.


                 

 

The user whose datapoints are matching with the centroid will  be put together in the same cluster ( Distance will be minimum).

 

K-means Algorithm

  • Initialize centroids by first shuffling the dataset and then randomly selecting data points for the centroids without replacement.
  • Keep iterating until there is no change to the centroids. i.e assignment of data points to clusters isn’t changing.
  • Compute the sum of the squared distance between data points and all centroids.
  • Assign each data point to the closest cluster (centroid).
              

Compute the centroids for the clusters by taking the average of the all data points that belong to each cluster.

Cluster-then-predict where different models will be built for different subgroups if we believe there is a wide variation in the behaviors of different subgroups.





    USER profile:
  • User dashboard consists of  Edit interests and personal info.
  • Under the edit interests coloumn the user can edit the interests according to his choice which was first selected during the signup phase. And with this he can explore the contents of selected interests in the new interest community.
  • In the personal info tab the user could view the posts he had made so far and also the connections he made in the app so far.
  • As an addition to it the user could even add new connections(other user) by searching the user id or from the suggestions list and could remove previously made connections with other users.
Communtiy content:

        1. Search/Explore: 
  • So the users can search other users in the community based on user id's and make new connections with them. And if the user wants to find new people in the community there will be a suggested list based on the user's selected interests.
  • The user will also be given a feature to explore the trending contents in the community by choosing the desired interest tabs.


    
    2. Chats:

  • Once a match is found the user can initiate the conversation by sending a text.
  • The other user can then block and initiate a conversation based on the message.
  • The messages send will be stored and wont be lost when the user closes the application.


    
    3. Feeds:
  • Filter the cotent -> The users are given a feature to filter the contents based on their wish based on category and content type.
  • Category filter includes by post , questions or poll. The user can pick one or more of these category filters to narrow down the search.
  • Content Type includes by Text, Image or by link the content consists. The user can pick one or more of these content type filters to narrow down the search.
    4. Content:
  • The user can post content in the community either in the form of a question, poll or a regular post.
  • Other users can react to a post by upvoting, commenting and also sharing the post.
  • There are certain content policies that the user has to follow. Breaking the set of rules of Unacceptable content can lead to enforcement of Temporary or permanent suspension of accounts, Removal of content or getting banned from the communities.


Business Logic:

To help like minded people connect . Take the input from the users and put the people who have similar interest in the same cluster where they can talk and make healthy discussions.

Project diagram:







Tools Used

 Frontend: Dart language, Frame work Flutter, Android

Backend: JavaScript(node JS)

Database: Mongodb




 

 


Comments

Popular posts from this blog

Social Networking App to connect people based on similar interests