A Social Network Friend Recommendation System is an exciting project that leverages graph theory concepts to simulate real-world social networks. This project enables students to explore data structures and algorithms while building a feature-rich application similar to popular social media platforms.
In this project:
- Each user is represented as a node (vertex) in a graph.
- Friendships between users are represented as edges connecting the nodes.
- By constructing and traversing this graph, the system provides valuable social insights, such as identifying mutual friends and recommending new connections.
This mimics the friend suggestion features of popular social media platforms.
-
🧩 Add Friends
Enable users to form new friendships by creating edges between their nodes in the graph. -
❌ Delete Friends
Allow users to break friendships by removing edges from the graph. -
🧳 Display Mutual Friends
Help users discover mutual friends by analyzing shared connections in the graph. -
🔍 Friend Recommendations
Suggest new friends by identifying friends-of-friends, as they are more likely to have shared interests or connections. -
🖊️ User Posting System
Create a real-time activity feed:- Users can make posts, stored in First-Come, First-Served (FCFS) order.
- Posts are displayed sequentially, simulating a timeline or feed feature.
- ✔ Search/Find Friends
- ✔ Suggest Potential Friends Based on Common Connections & Attributes
- ✔ Setup Security Question
- ✔ Direct Messaging
- ✔ Visualize Network
- ✔ Admin Dashboard
- ✔ Badges & Achievements
- ✔ User Profile Avatars
- ✔ Update Profile
- Java Development Kit (JDK): Ensure JDK 21+ is installed.
- MariaDB Database: Ensure MariaDB is installed and running.
- MYSQL Database: Ensure Mysql/PhpMyAdmin is installed and running as alternative for MariaDB.
- JavaFX: Integrated with Zulu JDK or added separately.
- IDE: Use IntelliJ IDEA, Eclipse, or your preferred IDE with Maven support.
-
Create a MariaDB database named
social_network
:CREATE DATABASE social_network;
-
Create necessary tables for users, friendships, posts, etc. Refer to the project SQL schema (included in the full project).
-
Update database credentials in the
DBConnection
class:private static final String URL = "jdbc:mariadb://localhost:3306/social_network"; private static final String USER = "your_user"; private static final String PASSWORD = "your_password";
- Clone or download the project:
git clone https://github.com/your-repository/social-network-recommendation-system.git
- Open the project in your IDE.
- Build and resolve Maven dependencies.
- Start the MariaDB server.
- Run the main JavaFX application file.
- Enjoy exploring the Social Network Friend Recommendation System!
Check out the demo video here.
For the complete project with JavaFX GUI frontend, contact Hasnat Rasool:
📧 Email: [email protected]