Skip to content

Programmed a multi-feature application which includes features such as secure login, instant text exchanges, designed to provide a user-friendly communication platform. It aims to ensure privacy, enabling real-time conversation, and enhancing media sharing experiences among users.

License

Notifications You must be signed in to change notification settings

VIVPM/Telegram-Desktop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 

Repository files navigation

Telegram-Desktop

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.

Function Details

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

Data Structures and Algorithms

  • 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.

About

Programmed a multi-feature application which includes features such as secure login, instant text exchanges, designed to provide a user-friendly communication platform. It aims to ensure privacy, enabling real-time conversation, and enhancing media sharing experiences among users.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages