There is a need for social media which can handle various functionalities with security and without any lags. It provides unique and popular functions which should meet the user requirements. I have created an application that can perform some functions such as downloading and searching the category, Text Messages, True caller bots, and so on. It provides large cloud storage to users and groups with a large number of users. Also resolving the difficulty in identifying a group chat from an individual chat. It removes bugs and errors. It provides regular updates based on feedback and new features.
| SI. No. | Function Name | Description | DS and Algorithm Used |
|---|---|---|---|
| 1. | Hashing | It is used to enter username and password. | Hashing Data Structure |
| 2. | Profile of User | It is used to access the profile of users. | Array data structure |
| 3. | Text Messages | It contains normal and schedule messages and schedule messages will be sent after scheduled time. | Linked List Data Structure and File Data structure |
| 4. | Download Media | This function downloads all the type of categories which are available in app and used sleep function. | File Data Structure |
| 5. | Watching Downloads | This function stores the downloaded file | File Data Structure |
| 6. | Auto Suggestion | It suggests the mutual friends | Matrix Data Structure |
| 7. | Shortest path from cities | To find shortest path from specific source to various destinations | Graph Data Structure |
| 8. | Search by username | It is used to search people based on their username | Search Data Structure and Brute Force Algorithm |
| 9. | Nearby People | It helps us to find users who are nearby to us based on distance | Matrix Data Structure and Selection Sort Algorithm |
| 10. | To find nearest person | It helps us to find the person based on location who is free | Graph Data Structure and Dijkstra’s Algorithm |
| 11. | Celebrity fan following | Displays the sorted celebrity names based on fan following | Quick Sort Algorithm and File Data Structure |
| 12. | Minimum Constraint Distance | To find the minimum distance given by user and also to find the minimum weights covered when distance is given | Graph Data Structure and Kruskal Algorithm |
| 13. | True Caller Bot | Displays the information about users when unknown contact number is given | Boyer Moore Algorithm and Search Data Structure |
| 14. | Auto Recommendation | It automatically recommends media based on history | Array Data Structure Linked List Data Structure |
| 15. | To visit new websites | It redirects to the website of that particular page | Functionality used system start |
| 16. | Enter into Mini dictionary | Have words meanings stored in a file | File Data Structure, Tree Data Structure [Binary Search Tree] |
| 17. | Join Channel | Joining the channel, deleting the channel as user needs | Stack Data Structure |
-
File data structure:
- Acts like a server in the project.
- Used to store and retrieve data permanently.
- Helps in storing large amounts of data in trees and lists.
-
Hash Function:
- Used in password checking.
- User can log in only if correct password is entered.
- Efficiency: O(1) (constant).
-
Doubly linked list:
- Used to shuffle contacts based on recent messages sent by the user.
- Efficiency: O(number of contacts).
-
Matrix data structure:
- Used to represent all nodes present in graphs.
- Used in algorithms like Kruskal, Dijkstra, and Floyd.
- Efficiency: O(n^2) where n is the number of nodes.
-
Dijkstra’s algorithm:
- Used to find the nearest person in the project.
- Efficiency: O(E log(V)).
-
Floyd algorithm:
- Used to include the feature of maps in the project.
- Finds the minimum distance from a city to all others.
- Efficiency: O(n^3).
-
Brute force string search:
- Used to find city names in nearest city and in matching usernames.
- Efficiency: O(mn) where m is the length of the string and n is the length of the pattern.
-
Selection sort:
- Used to sort people nearby based on distance.
- Efficiency: O(n^2).
-
Quick sort:
- Named celebrity sort in the project because it sorts celebrities based on the number of followers.
- Efficiency in average case: O(n log(n)).
-
Kruskal’s algorithm:
- Used to find the minimum distance given by the user.
- Efficiency: O(E log(E)).
-
Bayer Moore string search:
- Used to search substrings in the true caller function.
- Matches phone numbers.
- Efficiency: O(mn) where m is the length of the string and n is the length of the pattern.
-
Array data structure:
- Most parts of the program use this data structure to store names, numbers, and other details.
- Efficiency: O(n).
-
Binary search tree:
- Used in the mini dictionary in the project.
- Stores all words and meanings and displays them lexicographically.
- Efficiency: O(log(n)).
-
Rabin carp:
- Used to match usernames in the project.