Skip to content

MennaThabet/Facebook-Management-System

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

144 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Facebook Management System

A simulation of Facebook’s core functionality using Object-Oriented Programming principles in Java.

📌 Overview

This project mimics Facebook's backend logic for managing users, posts, friendships, and private messaging — all built from scratch using core OOP concepts. It also supports persistent file storage and user interaction through the console.

🧠 Features

  • User registration and login with credentials validation
  • Post creation with privacy settings (Public/Friends-only)
  • Commenting and replying to posts/comments
  • Friend requests, mutual friends/posts detection
  • Operators + and & overloaded for mutual content
  • Messaging system between users
  • Restricted vs. regular friend access
  • Role-based friend visibility and trust scores
  • File-based storage and retrieval of data
  • Full exception handling

⚙️ Technologies Used

  • Java
  • OOP (Inheritance, Polymorphism, Encapsulation, Abstraction)
  • UML Class Diagrams
  • File I/O
  • Exception Handling

🧩 Core Classes

  • User
  • FriendShip
  • Post, Comment, Reply
  • Message, Conversation
  • FriendRequest, Notification

📂 File Structure

📁 src ├── User.java ├── FriendShip.java ├── FriendRequest.java ├── Post.java ├── Comment.java ├── Reply.java ├── Messages.java ├── Conversation.java ├── Main.java

📌 Run Instructions

  1. Clone the repository
  2. Open project in any Java IDE (e.g. IntelliJ or Eclipse)
  3. Run Main.java
  4. Follow the console instructions

🎓 Learning Outcome

This project was built to practice:

  • Class design and interaction
  • Real-life system simulation
  • Deep use of file I/O and validation
  • Robust exception handling and test-driven input

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Java 100.0%