Professional Documents
Culture Documents
A PROJECT REPORT
Submitted by
ARPITA BHARADWAJ
AVINASH SINGH
of
MAY, 2019
INTEGRAL UNIVERSITY: LUCKNOW
CERTIFICATE
Assistant Professor
CERTIFICATE
“We hereby declare that this submission is our own work and that, to the
accepted for the award of any other degree or diploma of the university or
_________________________
ARPITA BHARADWAJ
_________________________
AVINASH SINGH
ACKNOWLEDGEMENT
We are grateful to Mr. Mukesh Kumar Bharti, our project manager, who
cautioned us for various turns that may happen in course of project
training and accompanied us as a friend.
At last we give our special thanks to our batchmates for all the valuable
suggestions without which this report could not be completed.
THANK YOU
TABLE OF CONTENTS
1. ABSTRACT
INTRODUCTION
2.
Features
HARDWARE AND SOFTWARE REQUIREMENTS
Hardware Rquirement
3. Software Requirement
Available Hardware
Available Software
4. PROBLEM STATEMENT
FEASIBILITY STUDY
Technical Feasibility
5. Economic Feasibility
Time Feasibility
Legal Feasibility
REQUIREMENT ANALYSIS
6. Functional Requirements
Non-Functional Requiremnts
SOFTWARE TOOLS SPECIFICATION
MySQL
7. Language: JAVA
Backend: HeidiSQL
IDE Tool: MyEclipse 2014
PROJECT DESCRIPTION
8. Scope Of The Project
Module Description
SYSTEM ANALYSIS
9. Iterative Model
Design of Iterative Model
Phases of Itereative Model
Application of Iterative Model
Advantages of Iterative Model
SYSTEM DESIGN
External Design
10.
Logical Design
Physical Design
11. CONTEXT DIAGRAM
ER DIAGRAM
12.
Components Of ER Diagram
DATA FLOW DIAGRAM
DFD Symbols
13. 0-Level DFD
1-Level DFD
2-Level DFD
FLOWCHART
14.
Flowchart Symbols
PROJECT SNAPSHOTS
Snapshot 1: Main Page
Snapshot 2: Login Page
Snapshot 3: Register Page
Snapshot 4: Forgot Password Page
Snapshot 5: Dashboard Page
Snapshot 6: Edit Profile Page
Snapshot 7: Change Profile Picture Page
15.
Snapshot 8: Notifications Page
Snapshot 9: Select Questions Page
Snapshot 10: Requests Page
Snapshot 11: Friends List Page
Snapshot 12: Preview Filled Page
Snapshot 13: ChatBot Preview Page
Snapshot 14: My SlamBook Page
Snapshot 15: Fill Slam Page
Snapshot 16: Admin Login Page
Snapshot 17: Admin Dashboard Page
Snapshot 18: Admin Add Course Page
Snapshot 19: Admin Add Questions Page
Snapshot 20: Admin Add Profession Page
Snapshot 21: Admin Change Password Page
DATABASE DESIGN
Table 1: Admin Table
Table 2: User Table
Table 3: Friend List Table
16. Table 4: Slam Page Table
Table 5: Question Table
Table 6: Courses Table
Table 7: User Questions Table
Table 8: Profession Table
17. FUTURE ENHANCEMENTS
18. CONCLUSION
19. REFERENCES
BIODATA OF GROUP MEMBERS
20. Member 1
Member 2
ABSTRACT
book and handover to it to them whom he/she wants to fulfill it. In this
system there is lack of privacy and there is a great chance to loss of data.
Slamme provides the user a online space to store their memories. All your
friends will be able to come together online and share their experiences.
Knowledge views and much more in just few clicks. Its a community site
that helps in getting your personalized slam book filled by your friends as
and easy.it also provides instant slams so that users can communicate
profile, friend list, status, comment, like and related information about
user, etc are part of this system. User can view the profile and they can
invite their friends . Admin of higher authorities will delete and block the
user and they may accept or reject. Before approving user, admin will
look the request through this system and take decisions. This method will
resources.
INTRODUCTION
Social Networking - It's the way the 21st century communicates now. Social
networking is the grouping of individuals into specific groups, like small rural
communities or a neighborhood subdivision. Although social networking is possible
in person, especially in the workplace, universities, and high schools, it is most
popular online. This is because unlike most high schools, colleges, or workplaces, the
internet is filled with millions of individuals who are looking to meet other people.
Social Networking Website project itself is a huge project comprising various features
like profile updating, friend’s list organization and various other application to
enhance the overall look and feel of the website. However, in this project we are
basically working on two essential feature or module ( PROFILE MANAGEMENT &
FRIENDS ORGANIZATION ). PROFILE MANAGEMENT module maintain the
profile of a user like name, like, dislikes, hobbies, status etc. FRIENDS
ORGANIZATION module maintains the friend list, handles request and sends
request to the other user.
The idea of this SlamChat is derived application from the traditional slam book that
places the tricky questions that might your friends need to answer.
There are so many means by which you can recollect all sweet memories of your past
days. Among these, SlamChat plays a vital role in driving those memories. Its a web
portal to store the contacts and also the memories attached.
SlamChat, is an application with full of questions which your friends need to fill in
their own answers to those questions. This book is the remembrance of your old mates
or current. After a long time, if you happened to read those friend’s posts, it will
definitely brush-up their area of interests.
Another important fact that since all contact records are centralized, the user might
look this as a backup option for his / her cell phone contact directory.
FEATURES:
A. HARDWARE REQUIREMENTS:
B. SOFTWARE REQUIREMENTS:
C. AVAILABLE HARDWARE:
Processor: Core i3
RAM: 2Gb
Hard Disk: 1TB
I/O Devices: High resolution colored Monitor, Keyboard, Mouse
D. AVAILABLE SOFTWARE:
Every project is feasible for given unlimited resources and infinite time. Feasibility
study is an evaluation of the proposed system regarding its workablity,impact on the
organization ability to meet the user needs and effective use of resources. Thus when
a new application is proposed it normally goes through a feasibility study before it is
approved for development. Feasibility and risk analysis are related in many ways is a
project risk is great and feasibility of producing software is reduced. The feasibility
analysis in this project has been discuss below:
TECHNICAL FEASIBILITY:
Technical feasibility is frequently the most difficult area to ensure at this stage . It is
essential that the process of analysis and definition to be conducted parallel to
assessment of the technical feasibility. As very limited resources are required for this
project the development of the project is much easier and technologically feasible.
ECONOMIC FEASIBILITY:
TIME FEASIBILITY:
An evaluation of the time needed for the development of the project. The time
schedule required for the development of the project is very important, since more
development time effects machine time, costs and delays in the development of the
other systems. So the project should be complete within affixed schedule time as far
as concerned.
LEGAL FEASIBILITY:
In the legal Feasibility is necessary to check that the software we are going to
develop is legally correct which means that the ideas which we have taken for the
proposed system will legally be implemented or not so, it is also an important step in
feasibility study. Development of this project doesn’t involve any compromise to legal
issues or political factors. This proves that the development of this software is also
feasible in legal aspect.Being legally feasible also ensures the future scope of the
developed project.
REQUIREMENT ANALYSIS
FUNCTIONAL REQUIREMENTS:
Functional requirements outline what the system must do, i.e., what services the
system present to the user? Following is a list of functionalities of the system. They
can register themselves in the system.
Secure access of confidential data by user name and password. This application is
secure for every kind of its users, because if any user logout from any session then
nobody will be able to access his profile without knowing his confidential password.
24 X 7 availability
Better component design to get better performance at peak time.
The database used here is robust, reliable & fast. So users will have to wait for
the output for very short time.
This application can be accessed from any type of platform.
There is no case of redundancy in the database so it will not take extra memory
space.
Username & password are sent to the users via email after registration.
Password recovery system is also provided in case of forgetting the password.
SOFTWARE TOOLS SPECIFICATION
MySQL:
MySQL is a very powerful program in its own right. It handles a large subset of
the functionality of the most expensive and powerful database packages.
MySQL uses a standard form of the well-known SQL data language.
MySQL works on many operating systems and with many languages including
PHP, PERL, C, C++, JAVA, etc.
MySQL works very quickly and works well even with large data sets.
MySQL is very friendly to PHP, the most appreciated language for web
development.
Language: JAVA:
Java was designed to have the look and feel of the C++ programming language, but is
simpler to use and enforces an object-oriented programming model. Java can be used
to create complete applications that may run on a single computer or be distributed
among servers and clients in a network. It can also be used to build a small
application module or applet for use as part of a webpage.
It is easy for developers to write programs which employ popular software design
patterns and best practices using the various components found in Java EE. For
example, frameworks such as Struts and JavaServer Faces all use a Java servlet to
implement the front controller design pattern for centralizing requests.
A big part of the Java ecosystem is the large variety of open source and community
built projects, software platforms and APIs. For example, the Apache
Foundation hosts a variety of projects written using Java, including simple logging
frameworks for Java (SLF4J), both Yarn and Hadoop processing
frameworks, Microservices development platforms and integration platforms.
Java EE environments can be used in the cloud as well. Developers can build, deploy,
debug and monitor Java applications on Google Cloud at a scalable level.
Although Java is widely used, it still has fair criticisms. Java syntax is often criticized
for being too verbose. In response, several peripheral languages have emerged to
address these issues, including Groovy. Due to the way Java references objects
internally, complex and concurrent list-based operations slow the JVM.
The Scala language addresses many of the shortcomings of the Java language that
reduce its ability to scale.
There are three key platforms upon which programmers develop Java applications:
1. Java SE- Simple, stand-alone applications are developed using Java Standard
Edition. Formerly known as J2SE, Java SE provides all of the APIs needed to develop
traditional desktop applications.
2. Java EE- The Java Enterprise Edition, formerly known as J2EE, provides the
ability to create server-side components that can respond to a web-based
request-response cycle. This arrangement allows the creation of Java programs that
can interact with Internet-based clients, including web browsers, CORBA-based
clients and even REST- and SOAP-based web services.
3. Java ME- Java also provides a lightweight platform for mobile development
known as Java Micro Edition, formerly known as J2ME. Java ME has proved a
prevalent platform for embedded device development, but it struggled to gain traction
in the smartphone development arena.
Backend: HeidiSQL:
HeidiSQL is a free and open-source administration tool for MySQL and its forks, as
well as Microsoft SQL Server and PostgreSQL. Its codebase was originally taken
from Ansgar Becker's own MySQL-Front 2.5 software. Due to having sold the
MySQL-Front branding to an unrelated party, Becker chose "HeidiSQL" as a
replacement.
Server connection
Server host
Databases
View all databases on the server, connect to a single database to work with its
tables and data
View connected databases' total and table size in KB/MB/GB within the
database/table tree structure
Create new, alter existing databases' name, character set and collation, drop
(delete) databases
View all objects within the selected database, empty, rename and drop (delete)
objects
Edit table columns, indexes, and foreign keys. Virtual columns on MariaDB
servers are supported.
Edit view query and settings
Edit procedure SQL body and parameters
Edit trigger SQL body and settings
Edit scheduled event SQL body time settings
IDE Tool: MyEclipse 2014:
MyEclipse 2014 is a commercially available Java EE and Ajax IDE created and
maintained by the company Genuitec, a founding member of the Eclipse Foundation.
MyEclipse is built upon the Eclipse platform, and integrates both proprietary and
open source code into the development environment.
MyEclipse has two primary versions (apart from the "Blue Edition and "MyEclipse
Spring Edition referred to below): a professional and a standard edition. The standard
edition adds database tools, a visual web designer, persistence
tools, Spring tools, Struts and JSF tooling, and a number of other features to the basic
Eclipse Java Developer profile. It competes with the Web Tools Project, which is a
part of Eclipse itself, but MyEclipse is a separate project entirely and offers a different
feature set.
MyEclipse has also been made available via Secure Delivery Center, a technology
that grew from its Pulse (ALM), brand, a provisioning tool that maintains Eclipse
software profiles, including those that use MyEclipse. Additionally, MyEclipse is
offering a customized version for IBM products, "MyEclipse Blue Edition", that adds
specific support for Rational Software and WebSphere development. Currently,
MyEclipse Blue Edition is available for Windows and Linux, though Mac is
unsupported.
Ajax Tools
Java Persistence Tools: Hibernate, TopLink, Apache OpenJPA
Spring Framework Tools
Apache Struts Designer
JavaServer Faces Designer
Application server Connectors
JavaServer Pages Development
Enterprise JavaBeans 3.0 support
Cascading Style Sheets editor
JSTL support
J2EE Development Tools
Javascript debugger
Matisse4MyEclipse - based on NetBeans GUI design tool (previously known as
Matisse)
Support for UML
Maven4MyEclipse - based on Apache Maven 2
Connectors for databases of Oracle Database, MySQL, Microsoft SQL
Server, Sybase
HTML 5 mobile tools
REST API cloud tools
HTML5 Visual Designer
PROJECT DESCRIPTION
In proposed system chances of losing data is not possible because data is maintained
in the form of database. Model designs also are updated in to database using a user
friendly GUI. This will reduce work for engineers. This application is an online
application which makes more flexible to access information.
The main objectives of the new system are mentioned below:-
3. Centralized Data:
In the existing system, data records are kept under file maintenance system due to this
system the placement of the data is not at one particular place. But in new system,
each and every record is maintained on computer, which leads to the centralization of
data.
5. Easy to Access: -
As compared to existing system, in new system the users can easily and efficiently
accesses the information from the computer.
SCOPE OF THE PROJECT:
This is the most important aspect in the analyzing the total work of our system.
Scopes of the application are listed below.
Storing and writing one’s birthday on calendar, this traditional and time
consuming process can be bypassed once a record is entered.
If sometime the user happened to write some mail to old mates, user may look
this application as alternative to the made note of mail address or email address.
Each record has more various fields making it possible to describe each contact in
detail.
This system provides users to register their various types of profile like social,
personal, general, professional.
This system provides users to send a scrap message, images, and data files to
their friends. User can maintain the scrap book whatever scraps he has send to
users.
The system provides user to upload the photos so that user can maintain own
album.
This system provides user to join the communities according to their scenario.
This system provides the user to maintain their friend list and user can update
their friend list.
This system provides user to send invitation to another friend and can add to their
friend list for future.
MODULE DESCRIPTION:
1. Admin:
This module deals with functionality of administration that includes addition and
deletion of various things like- he/she can add or delete any user account and update
the status of questions, etc. Admin can also act as a mediator b/w two parties.
2. User:
This module deals with the user interaction with project. In this module user (he/she)
can do the following things-
But he/she send a friend request to the person in order to fetch all the details
about the person.
3. Registration:
This module deals with the registration of various users and after registration he/she
can get a unique id and password which they use in order log-in in the website.
SYSTEM ANALYSIS
From the inception of an idea for a software system, until it is implemented and
delivered to a customer and even after that, the system undergoes gradual
development and evolution. The software is said to have a life cycle composed of
several phases. In Traditional “Iterative Model” each phases has well-defined starting
and ending points, with clearly identifiable deliverables to the next phase. Here for the
project being submitted we have followed “Iterative Model”.
ITERATIVE MODEL:
The iterative waterfall model provides feedback paths from every phase to its
preceding phases, which is the main difference from the classical waterfall model.
When errors are detected at some later phase, these feedback paths allow correcting
errors committed by programmers during some phase. The feedback paths allow the
phase to be reworked in which errors are committed and these changes are reflected in
the later phases. But, there is no feedback path to the stage – feasibility study, because
once a project has been taken, does not give up the project easily.
It is good to detect errors in the same phase in which they are committed. It reduces
the effort and time required to correct the errors.
Phases of Iterative Model:
The various phases are described below:
1. Feasibility Study: The main goal of this phase is to determine whether it would be
financially and technically feasible to develop the software.
The feasibility study involves understanding the problem and then determine the
various possible strategies to solve the problem. These different identified solutions
are analyzed based on their benefits and drawbacks, The best solution is chosen and
all the other phases are carried out as per this solution strategy.
2. Requirements analysis and specification: The aim of the requirement analysis
and specification phase is to understand the exact requirements of the customer and
document them properly. This phase consists of two different activities.
Requirement gathering and analysis: Firstly all the requirements regarding the
software are gathered from the customer and then the gathered requirements are
analyzed. The goal of the analysis part is to remove incompleteness (an
incomplete requirement is one in which some parts of the actual requirements
have been omitted) and inconsistencies (inconsistent requirement is one in which
some part of the requirement contradicts with some other part).
Requirement specification: These analyzed requirements are documented in a
software requirement specification (SRS) document. SRS document serves as a
contract between development team and customers. Any future dispute between
the customers and the developers can be settled by examining the SRS document.
3. Design: The aim of the design phase is to transform the requirements specified in
the SRS document into a structure that is suitable for implementation in some
programming language.
4. Coding and Unit testing: In coding phase software design is translated into source
code using any suitable programming language. Thus each designed module is coded.
The aim of the unit testing phase is to check whether each module is working properly
or not.
5. Integration and System testing: Integration of different modules are undertaken
soon after they have been coded and unit tested. Integration of various modules is
carried out incrementally over a number of steps. During each integration step,
previously planned modules are added to the partially integrated system and the
resultant system is tested. Finally, after all the modules have been successfully
integrated and tested, the full working system is obtained and system testing is carried
out on this.
System testing consists three different kinds of testing activities as described below :
A new technology is being used and is being learnt by the development team
while working on the project.
Resources with needed skill sets are not available and are planned to be used on
contract basis for specific iterations.
There are some high-risk features and goals which may change in the future.
Risks are identified and resolved during iteration; and each iteration is an easily
managed milestone.
During the life cycle, software is produced early which facilitates customer
evaluation and feedback.
SYSTEM DESIGN
After the analysis phase we have with us the details of the existing system and the
requirements of the user for the new system. This phase diverts focus from the
problem domain to the solution domain. It acts as a bridge between the requirement
phase and its solution. The design phase focuses on the detailed implementation of the
system recommended in the feasibility study.
System design is the process of defining the elements of a system such as the
architecture, modules and components, the different interfaces of those components
and the data that goes through that system. It is meant to satisfy specific needs and
requirements of a business or organization through the engineering of a coherent and
well-running system.
Object-oriented analysis and design (OOAD) methods are becoming the most widely
used methods for computer system design. The UML has become the standard
language used in Object-oriented analysis and design. It is widely used for modeling
software systems and is increasingly used for high designing non-software systems
and organizations.
EXTERNAL DESIGN:
External design consists of conceiving, planning out and specifying the externally
observable characteristics of the software product.
These characteristics include user displays or user interface forms and the report
formats, external data sources and the functional characteristics, performance
requirements etc. External design begins during the analysis phase and continues into
the design phase.
LOGICAL DESIGN:
The logical design of a system pertains to an abstract representation of the data flows,
inputs and outputs of the system. This is often conducted via modeling, which
involves a simplistic (and sometimes graphical) representation of an actual system. In
the context of systems design, modeling can undertake the following forms,
including:
Data flow diagrams
Entity Life Histories
Entity Relationship Diagrams
PHYSICAL DESIGN:
The physical design relates to the actual input and output processes of the system.
This is laid down in terms of how data is input into a system, how it is authenticated,
how it is processed, and how it is displayed as output.
Physical design, in this context, does not refer to the tangible physical design of an
information system. To use an analogy, a personal computer's physical design
involves input via a keyboard, processing within the CPU, and output via a monitor,
printer, etc.
It would not concern the actual layout of the tangible hardware, which for a PC would
be a monitor, CPU, motherboard, hard drive, modems, video/graphics cards, USB
slots etc.
CONTEXT DIAGRAM
The context diagram is used to establish the context and boundaries of the system to
be modelled: which things are inside and outside of the system being modelled, and
what is the relationship of the system with these external entities.
Context diagrams can be developed with the use of two types of building blocks:
Entities (Actors): labeled boxes; one in the center representing the system, and around
it multiple boxes for each external actor
For example, "customer places order." Context diagrams can also use many different
drawing types to represent external entities. They can use ovals, stick
figures, pictures, clip art or any other representation to convey meaning. Decision
trees and data storage are represented in system flow diagrams.
Components of ER Diagram:
A DFD shows what kind of information will be input to and output from the system,
where the data will come from and go to, and where the data will be stored. It does
not show information about the timing of process or information about whether
processes will operate in sequence or in parallel
Shape Description
0-Level DFD:
It only contains one process node ("Process 0") that generalizes the function of the
entire system in relationship to external entities. It’s designed to be an abstraction
view, showing the system as a single process with its relationship to external entities.
It represent the entire system as single bubble with input and output data indicated by
incoming/outgoing arrows.
2-Level DFD:
2-level DFD goes one step deeper into parts of 1-level DFD.It can be used to plan or
record the specific/necessary detail about the system’s functioning.Higher level DFDs
can be transformed into more specific lower level DFDs with deeper level of
understanding unless the desired level of specification is achieved. A level 2 data flow
diagram (DFD) offers a more detailed look at the processes that make up an
information system than a level 1 DFD does. It can be used to plan or record the
specific makeup of a system.
Figure 12: 2-Level DFD of Admin Panel for SlamChat
Data within the most common types of databases in operation today is typically
modeled in rows and columns in a series of tables to make processing and data
querying efficient. The data can then be easily accessed, managed, modified, updated,
controlled, and organized. Most databases use structured query language (SQL) for
writing and querying data.
Table1: Admin
Table2: User
Table5: Question
Table8: Profession
This project can be extended and many new creative ideas can be introduce in it.
Reminder of to do tasks
Collecting of information from mates, friends, colleagues, relatives, etc and storing it
in ways that need to be addressed for its limitations. These limitations can be
overcome by the use of the project. Project ensures that all records must be
centralized, display all when required.
The application may be success when it will act as a alternative to traditional penning
down details of people, their contact numbers, etc.
While developing the system a conscious effort has been made to create and develop a
software package, making use of available tools, techniques and resources – that
would generate a proper system for ONLINE SOCIAL NETWORKING.
While making the system, an eye has been kept on making it as user-friendly. As such
one may hope that the system will be acceptable to any user and will adequately meet
his/her needs. As in case of any system development process where there are a
number of short comings, there have been some shortcomings in the development of
this system also.
There are some of the areas of improvement which couldn’t be implemented due to
time constraints. One such feature was online chat where members can chat with his
friends through this website. We also couldn't implement the scrap book and the
selling item page for now but we still have two months of internship left in the
company so definitly we will do it in coming months.