Social Network for Check-In PHP source code for free for BE, BTech, MCA, BCA, Diploma, and MSc
In modern days social networks like Facebook, Instagram, Snapchat have become a very common part of our everyday life and are widely used throughout the world, some counting more than 500 million users of different ages. 35% of adult internet users now have a profile on an online social network site whereas, for teenagers, the numbers jump to 65%. There is a large variety of the purpose these social networks serve, but despite their differences, they are similar in one main aspect. All of them have a vital need for a database management system which will deal with the continuous growth in size and complexity. Since the number of users, new features, and general complexity of every social media application changes rapidly, the design of the database should be able to efficiently store and support the data.
For this course, we are going to develop a database for a “Social Network for Check-ins”. As the name suggests our social network will be mainly focused on finding interesting venues and areas inside a certain range of the user’s current location and “checking in” in each of them. The locations will be categorized and the user will easily find what he is looking for and will have the opportunity to rate and recommend each location. Together with this, each user will have his own profile in which he can store different information regarding his preferred locations and being in a social network he will be able to communicate and share them with his friends.
2. Problem Definition
The main issue of our system is that there will be lots of venues and users with many attributes each. The old check-ins, comments, messages, likes, and suggestions of each user need to be stored together with the user information and preferences so that they can be displayed again. This means that we have to store everything in our database from the simple birth date of the user up to his/her first check-in.
Another reason why we need the database system is a large number of friends a user can have and the messages with them. Since the user can only follow another user, friends will be called only the users who follow each-other respectively. The database system will also be responsible for the storage and organization of the information regarding the venues and its subcategories. Due to this organization of the database the user will be able to access information more efficiently. These problems that arise during the design of an application can only be handled if it has the support of a very well organized database management system.
3. Project Description
The basic and fundamental idea of the system is to socialize people with each other and discover many interesting places easily. The system will be accessed by 2 different types of users: simple users and managers. Simple users will be able to create their accounts, to search for different venues and places, check-in, rate the locations, recommend them and update their profile. Being a social network they will also be able to communicate and connect with their friends. Managers will be able to update information regarding the venue they are managing such as hotel, restaurant etc, with photos and different information. However, they will not be able to remove the comments made by users, in order to guarantee transparency.
Users will be able to search different locations which will be organized into categories and subcategories in order to facilitate the searching process. Beside via categories and subcategories, users can search based on different features such as parking facilities, credit card acceptance etc. Due to this organization, the searching process will be very efficient and users will be able to find everything they need within seconds.
Being a social network, users will be able to complete their profile and add preferences to it which will enable him to see in his news feed information related to his preferences. He will also be able to connect and send messages with other people sharing his experience and also make a different list of locations he has already visited or that he wishes to do so. The application will also be very user-friendly so that the users familiarize themselves much easier to the system and that they start using it more often.
The system has 3 Operational Roles: User, Manager, and Administrator. Each of them will have different UI and their personalized options related to the permission allowed to them.
4.1 Functional Requirements
Users can sign up and create their own accounts by using their email. Users will be divided into three categories with different privileges (administrator, manager and simple user).
have their unique profiles with their personal information and preferences. Users login into an application using their unique email and password.
Venues have their unique profiles. Venue’s accounts will be under the manager’s control. Users can follow each other. Users can check-in in different venues. can review the venues and affect their overall rating by liking or disliking them.
Users can send suggestions to the Venues. Users can send messages to their friends. can like and comment on the check-ins and reviews of the people whose profile is public or of their friends. Users can view the ratings and reviews of the venues.
Users can create a list of venues that they are planning to check-in. have their own preferences and favorite venues (Newsfeed will be sent to them according to them). Users can search based on categories or subcategories.
Users can search for a particular venue.
can search based on some preferred features.
Users can search for venues in a particular city, state, and country. Users can update the information of their profiles. will have a list of all their check-ins in their profile. Users can recommend a particular venue to a friend. Admins can edit and check the whole information of the application.
4.2 Non – Functional Requirements
The system will be scalable and won’t be affected by a number of users working simultaneously. The user interface of the application will be user-friendly. The website will be responsive for mobile devices. Confidentiality is another thing that system will deal by protecting sensitive data and allowing only authorized access to the data. The system will be maintainable and easy to find and fix faults. The system will be easily modified and expand its processing capabilities to support system growth.
4.3 Pseudo Requirements
node.js will be used to create a server which would handle database and frontend communication.
5. Entity Relationship (ER) Diagram
Each kind of user has its own specific characteristics regarding access to the application. Users can edit only their own information; not the information of any other user. Managers can edit only the information of the Venues that they manage; not the information of the users or other venues. Check-ins of public accounts are shown to everyone, while check-in of private account is shown only to the friends. Users can have only one unique profile.