Skip to content

I created FriendBook, a website akin to Facebook, enabling users to register, log in, manage profiles, post, and connect. I implemented user authentication, posts, friend requests, and messaging. The admin dashboard handles reported content. Developed over 2 years, it highlights my robust web dev, security skills, using custom MVC.

Notifications You must be signed in to change notification settings

CodeZohaib/friendbook-social-networking

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

friendbook-social-networking

As part of my final year project, I developed an online platform called FriendBook. This platform allows users to sign up, log in, update their profiles, create posts, view content, and engage with other users. I was responsible for implementing user registration and login functionality, post creation and viewing, as well as features like friend requests and messaging. Additionally, I designed an admin dashboard to review reported accounts and posts, showcasing my expertise in web development and user security.

I'm proud to mention that the database is highly secure, with 95% encryption, ensuring the safety of user data. The development of FriendBook took two years, and it was completed as part of my final year project at Northern University Nowshera.

Features

Registration Page : When you visit the website, there's a page where you can create your account. You tell the website your name, email, and where you live. You can also choose a picture to show on your profile. Each person needs their own email for safety reasons.

User Login Page : Once you have an account, you can use a page to log in. You type in your email and password, and then you're in your account. To make sure it's secure, we don't allow the same account to be logged in on different devices at the same time. If you're already logged in somewhere, you'll need to log out from there before logging in on another device. This helps keep your account safe.

User Profile Page : When you're logged in, you can make your page look nice. You can change your pictures and write about yourself. You can also choose if you want others to see your stuff or keep it private. If you're really you, you might even get a special blue checkmark.

Notification Page : On the website, there's a helper page that tells you if something new happened. If a friend posts something or if someone likes or comments on your stuff, you get a little note to check it out.

Newsfeed Page : The main page is like a big board where you see what your friends are doing. You can see their pictures, videos, and fun things they're sharing.

People Page : There's a page that helps you find other people near you. You can send them friend requests and see their pages. You can also search for people if you're looking for someone specific.

Messages Page : If you want to talk to a friend just by yourselves, there's a page for that. You can send messages with words, pictures, and even videos. You can also clean up your messages if you want.

Images, Videos, and Audios Pages : You can look at your friends' pictures, videos, and sounds on separate pages for each type of content.

Friend List Page : There's a place where you can see all the people you're friends with. You can look at their stuff and what they're sharing.

Friend Request Page : If someone wants to be your friend, they can ask you on this page. You can choose to accept or reject. You can also visit their page to see what they're about.

Block List Page : If someone is bothering you, you can stop them from talking to you on this page. It's like saying "I don't want to talk to you." You can also change your mind later if you want to talk again.

Admin Login Page : Some special people who run the website have their own secret page to manage things. They can log in here and fix stuff if needed. If they forget their password, they can get it back.

Admin Dashboard Page : The special website managers can see all the new stuff happening here. They can check who's joining and see if there are any problems.

All Users Page : There's a list of everyone who joined the website. You can look for someone if you want.

Account Verification Page : If you want a special badge that says you're really you, you can ask for it here. You need to show some real papers to prove who you are.

Reported Accounts Page : The Reported Accounts page displays all complaints about user profiles, including illegal profile information, fake accounts, and other issues. The administrators review each complaint and take appropriate action against the account, such as issuing a warning. If an account receives three warnings, it will be automatically blocked.
There are two options for resolving complaints:
1.Reject the complaint.
2.Issue a warning to the account

Project Languages Used: : HTML, CSS, Bootstrap, jQuery, CUSTOM MVC PHP, MySQLi PDO, AJAX

Role : I was the only person working on this

Setting Up Your Project

  1. Project Name: Make sure that both the project name and the database name are set to "friendbook." If you wish to change the project name, follow these steps:

    • Open the project folder.
    • Navigate to the public folder.
    • Inside the public folder, access the assets folder.
    • Then, open the js folder.
    • Locate the custom.js file and open it.
    • In the custom.js file, find the line containing window.location.origin+'/friendbook/'.
    • Replace 'friendbook' with your new project name in all relevant files.
  2. Database Name: If you want to change the database name in the code, follow these steps:

    • Open the project folder.
    • Access the config folder.
    • Inside the config folder, open the config.php file.
    • Find line number 6, which contains define("DATABASE","friendbook");.
    • Replace 'friendbook' with your new database name.

These steps should help you customize your project name and database name according to your preferences. If you have any specific questions or need further assistance, please let me know.


Project ScreenShot

index FriendBook login Page


signup
Signup Form

profile
Profile Page

messages
Messages Page

friendRequest
Friend Request Page


people
People Page

notification
Notification Page

newsfeed
Newsfeed Page

newsfeedAudio
Newsfeed Audio Page

newsfeedImages
Newsfeed Images Page

blocklist
Blocklist Page

timeline
Timeline Page

adminlogin
Admin login Page

Dashboard Admin Dashboard Page


accountVerification Account Verification Page


allUsers All Users Page


reported Account Reported Account Page


postreported Reported Posts Page


About

I created FriendBook, a website akin to Facebook, enabling users to register, log in, manage profiles, post, and connect. I implemented user authentication, posts, friend requests, and messaging. The admin dashboard handles reported content. Developed over 2 years, it highlights my robust web dev, security skills, using custom MVC.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published