A social networking website built on the LAMP stack. Made as a project for partial credit towards the course CS F212 Database Management Systems. For instructions on how to setup this application go to setup instructions, which also has a brief explanation on how the file/folder system of this application are organized.
The social networking application will definitely support the following functionality fully:
- Create account (register new account or add users)
- Login to account
- Delete account
- Add people you know to a “circle” - friends, family, and acquaintances.
- Add new post
- Edit existing post
- Set post visibility - who can see the post? (world or only limited audience of friends/family/acquaintances)
- React to a post (like, dislike)
- Remove the react (like, dislike)
- Add comment on a post
- Delete comment on a post
- Reply to a comment on a post
- See recent posts of your friends, family, and acquaintances as well as the world’s
The several screens that the user will see include:
- Login: The initial welcome screen for any user. In this interface, the user will be able to login to the social network platform.
- Register: This interface provides the functionality to add create a new profile in the social network.
- Feed: The feed interface allows the user to browse through all the posts made by various users. These posts can be grouped according to three different circles : Friends, Family and Acquaintances.
- Add Post: The add post interface allows the user to make a post and publish it on the social network. It also provides the user the ability to make the post visible to only a certain circle of friends.
- Post Detail: The post detail interface shows all the characteristics of the post which include, the reacts, the comments and the post content.
- User Profile: The user profile interface lists the personal details of the user along with the various posts they have published.
- Manage Account: The manage account interface allows the user to change/update their personal information.
- Activity Log: The activity log interface allows the user to view all of their actions in the social network in a reverse chronological order.
We are using for this LAMP technology stack for this project:
- Linux based operating system is being used (v. Ubuntu 16.04/18.04 LTS).
- Apache as the web server software.
- MySQL relational database for storing the data or information.
- PHP as the server side scripting language
Additionally, we will be using these tools and languages for designing the front end/GUI of this project:
- HTML for the base design of the website
- CSS and CSS libraries such as Bootstrap for beautifying the User Interface (UI). Google Fonts will be used for specialized fonts, if needed.
- Javascript for client side scripting.
- Git and Github for version control.
- design software such as LucidChart for preparing ER diagrams required as a part of this project.