FINAL - REPORT - 18 - May New

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 100

VISHVESHWARYA GROUP OF INSTITUTIONS,

GREATER NOIDA

A project report submitted in partial fulfilment of the requirement for the


Award of Degree of

BACHELOR OF TECHNOLOGY
In
Computer Science and Engineering

“VGI-VERSE”

GUIDED BY: SUBMITTED BY:


Prof (Dr.) Waseem Ahmad Aniket
Abhishek Kumar
VISHVESHWARYA GROUP OF INSTITUTIONS
GREATER NOIDA (U.P.)

CERTIFICATE

This is to certify that the project work entitled “VGI-VERSE”, which is being submitted by

Aniket Roll no: 2000960100009 and Abhishek Kumar Roll no: 2000960100004 in partial

fulfillment of the requirements for award of the degree of B-TECH (BACHELOR OF

TECHNOLOGY) to the Vishveshwarya Group of Institutions, Greater Noida is an authentic

work carried out by the student under my guidance. The matter embodied in this project work

has not been submitted earlier for award of any degree or diploma to the best of my knowledge

and belief.

Signature of Supervisor:

Prof. (Dr.) Waseem Ahmad


Dept. Of Computer Science
Vishveshwarya Group of Institutions

Date:

4 | P age
ACKNOWLEDGEMENT

The entire journey from the very idea of this research to reality would not have been possible
without the guidance and support of many experienced people.

I would like to convey my sincere gratitude to Dr. Waseem Ahmad for assistance in completion
of this Project Report.

A special mention Ms. Sunita for investing her faith in us, at the same time special thanks to Dr.
Bibek Kumar HOD CSE for rigorous support and all the resources he has provided to us

A heartfelt thanks to the respondents surveyed whose ideas, critical insights and suggestions
have been invaluable in the preparation of this report.

Last but not the least a very warm thanks to all the faculty members of Vishveshwarya Group
Institution, for providing me guide lines in project report.

Aniket
Abhishek Kumar

B.TECH-VIII SEM, 2024


Dept. of Computer Science
V.G.I. Greater Noida.

5|Page
TABLE OF CONTENTS

TITLE PAGE NO.


ABSTRACT 7
LIST OF FIGURES 11
FIGURES OF DATABASE TABLES ARE 11
FIGURES OF OUTPUTS ARE 12
LIST OF SYMBOLS, ABBREVIATIONS AND 13
NOMENCLATURE
INTRODUCTION 14
SCOPE OF PROJECT 14
OBJECTIVES 15
FEASIBILITY STUDY 17
SYSTEM ANALYSIS 19
FLOW CHART 22
ER DIAGRAM 23
DFD O LEVEL AND 1 LEVEL 25
SPECIFIC REQUIREMENTS 26
EXTERNAL INTERFACE REQUIREMENTS 27
DESIGN 29
CODING 37
TESTING 41
IMPLEMENTATION 46
MAINTENANCE 49
OUTPUT (FIGURES OF TABLES) 52
OUTPUT (GUI) 60
CONCLUSION 80
FUTURE SCOPE 81
APPENDICES 83
GLOSSARY 95
BIBLIOGRAPHY 98

6|Page
VISHVESHWARYA GROUP OF INSTITUTIONS
GREATER NOIDA (U.P.)

ABSTRACT

Project Name is: “VGI VERSE”

The project is very flexible and it can be modified if the need arises. This is a web-based social
media application. I hope the user will find this project work quite pleasing in its output as
general sample designing has been done to enhance the view and simple programming statement
and commands have been made use of, so that the user had no problem in understanding the
listing of the project.

The project “VGI-VERSE” is aimed to maintain the state of registration, updating or deletion of
profile and posts, tracking users, creating a community and much more. The main objectives of
this project is to provide a web based portal that is used by students, staffs, alumni and faculty
members to post the day to day happening activities and information collectively at one place.

Idea behind this project is that “We use many such social media platform on the global level
which is already catered among a large audience. This project VGI-VERSE is designed to
engage pass out students, alumni, ex faculties, faculty members, staffs, and students to share and
get information required without much hinderance at one at a place.”

7|Page
ADVANTAGES

 VGI-Verse is a vibrant community for students, staff, faculty, and alumni to connect and
 collaborate.
 It provides an integrated, high-performance, state-of-the-art information system for the
 organization.
 The platform offers highly integrated and informative modules for seamless
communication.
 Users receive instant notifications of any activity happening within the community.
 VGI-Verse promotes a "No Paperwork" concept, streamlining communication and
reducing
 bureaucracy.
 Different security levels are implemented to ensure user privacy and data security.
 Students can check the career paths of alumni for guidance and insights.
 The platform hosts informative and helpful posts on various topics.
 Join VGI-Verse to become part of a thriving community shaping the future of education
and
 networking.

DISADVANTAGES

What we feel is that there are no such disadvantages this project. Always beneficial
for users to use for fast & easy access. But the only disadvantage is, the size of the
data increases day-by-day, increasing the load on the database back up and data
maintenance activity.

8|Page
The project can be divided into these main modules.

1. Registration/Login module

2.Discussion forum

3.Resource sharing

4.News and Announcement

5.Event Management

6.Availability of E-content

7.Messaging

Module 1:

Registration / Login module:

There is unique authority of the app that it will authenticate profile based on the credentials
entered at the time of sign up and so these credentials will be used as the details to be filled in
login form.

Module 2:

Discussion forum:

The other module is that this social media platform gives space for several day-to-day discussion
to be take place.

Module 3:

Resource sharing:

This module of the project is one of the major modules because this is the main purpose of the
project. Resource sharing will be the module which helps in collecting gathering on the portal.

9|Page
Module 4:

News and Announcement:

The next module is the module which enables sharing resources like announcements of various
events to be take place in the campus, announcements related to several activities, announcement
as such about classes, trips, special guest lectures and news regarding fun and drama.

Module 5:

Event Management:

As already mention in modules before this is not a special module yet but can be included
various portions in the app were event management, announcements, discussion can be done.

Module 6:

Availability of E-content:

This is also a major purpose of this project several students who are not in touch with their
seniors and want to seek help as notes, books, guidance, strategies. They can seek help as
they can download notes if provided by the good students or alumni.

Module 7:

Messaging:

This is not a special module as such. It enables to directly text or receive messages to each other.
They can ask queries to their faculties as per need. Interact with alumni or other seniors of the
college.

10 | P a g e
Site Working: -

The site will works as:

1. Once the user authentication completed user can Log into their respective
account.
2. Once user logged into the account he can update their profile as name, bio,
profile pic etc.
3. He can add post as images, files, pdfs, notes.
4. Can upload news and announcements.
5. He can edit and update or even delete the post.
6. He can explore the page
7. He can save the post in its history and see whenever needed
8. Can contact other students, faculties they want, alumni, seniors, and juniors.

11 | P a g e
LIST OF FIGURES

FIGURES OF DATABASE ARE:


Users Collection
 Purpose: Stores user information.
 Fields:
o userId (String): Unique identifier for each user.
o username (String): The name of the user.
o email (String): The email address of the user.
o profilePicture (String): URL to the user's profile picture.
o createdAt (Timestamp): The date and time when the user was created.

Posts Collection
 Purpose: Stores posts created by users.
 Fields:
o postId (String): Unique identifier for each post.
o userId (String): Identifier of the user who created the post.
o content (String): The content of the post.
o likesCount (Number): The number of likes on the post.
o createdAt (Timestamp): The date and time when the post was created.

Comments Collection
 Purpose: Stores comments on posts.
 Fields:
o commentId (String): Unique identifier for each comment.
o postId (String): Identifier of the post the comment belongs to.
o userId (String): Identifier of the user who made the comment.
o content (String): The content of the comment.
o createdAt (Timestamp): The date and time when the comment was created.

Likes Collection
 Purpose: Stores likes on posts.
 Fields:
o likeId (String): Unique identifier for each like.
o postId (String): Identifier of the post that is liked.
o userId (String): Identifier of the user who liked the post.
o createdAt (Timestamp): The date and time when the like was made.

Connections Collection
 Purpose: Stores connections between users (e.g., friends or followers).
 Fields:
o connectionId (String): Unique identifier for each connection.
o userId1 (String): Identifier of the first user in the connection.
o userId2 (String): Identifier of the second user in the connection.
o status (String): Status of the connection (e.g., pending, accepted).
o createdAt (Timestamp): The date and time when the connection was created.

12 | P a g e
FIGURES OF OUTPUTS ARE:

1. Sign-in
2. Sign-up
3. Sign-in/Sign-up with Google
4. Change Password
5. Forget Password
6. Home Page or News Feeds
a) View Post
b) Like
c) Comment
d) Share
e) Add Connection
f) Search People

7. Edit Profile
a) User
i. Update profile picture
ii. Edit About or bio
iii. Edit Educational details
iv. Edit Working Detail
v. Edit Address

13 | P a g e
VISHVESHWARYA GROUP OF INSTITUTIONS
GREATER NOIDA (U.P.)

LIST OF SYMBOLS, ABBREVIATIONS AND


NOMENCLATURE

Symbols
1.Using Font Awesome
2.Glyph-icons.

Ex:
fa fa-edit
glyphicon glyphicon-home.

14 | P a g e
VISHVESHWARYA GROUP OF INSTITUTIONS GREATER
NOIDA (U.P.)

INTRODUCTION

The purpose of this document is to present a detailed description of the “VGI-VERSE”. It will
explain the purpose and features of the system, the interfaces of the system, what the system will
do, the constraints under which it must operate and how the system will react to external stimuli.
This document is intended for both the users and the developers of the system.

Scope of Project

In today's digital age, social networking sites have evolved into more than just platforms for
global communication and interaction. They have become powerful tools for business promotion
and customer engagement. Many business-minded individuals are now conducting their
businesses online and using social networking sites to respond to customer queries effectively.

VGI-Verse (V-Verse) recognizes the dual role of social networking sites. It aims to help users
maintain their social aura by keeping in touch with their close ones and important people.
Beyond personal connections, V-Verse acknowledges that social media platforms represent a
vast pool of information from day-to-day living.

14 | P a g e
One of the main objectives of VGI-Verse is to provide a platform that not only fosters personal
connections but also serves as a hub for business promotion. By leveraging the features of social
networking, V-Verse aims to create an environment where users can stay in touch with contacts,
reach out to new people, and demonstrate their commitment to effective company-to-client
communication.

As with many social networking websites, V-Verse does not carry membership charges and
offers free services to all users. It is designed to be a versatile platform that caters to both
personal and professional networking needs, making it a valuable resource for individuals and
businesses alike

Reusability:

Reusability is possible as and when we require in this application. We can update it next version.
Reusable software reduces design, coding and testing cost by amortizing effort over several
designs. Reducing the amount of code also simplifies understanding, which increases the
likelihood that the code is correct. We follow up both types of reusability: Sharing of newly
written code within a project and reuse of previously written code on new projects.

15 | P a g e
Extensibility:

This software is extended in ways that its original developers may not expect. The following
principles enhance extensibility like Hide data structure, avoid traversing multiple links or methods,
avoid case statements on object type and distinguish public and private operations.

Robustness:

Its method is robust if it does not fail even if it receives improper parameters. There are some
facilities like Protect against errors, optimize after the program runs, validating arguments and
Avoid predefined limits.

Understandability:

A method is understandable if someone other than the creator of the method can understand the
code (as well as the creator after a time lapse). We use the method, which small and coherent
helps to accomplish this.

Cost-effectiveness:

Its cost is under the budget and make within given time period. It is desirable to aim for a system
with a minimum cost subject to the condition that it must satisfy all the requirements. Scope of
this document is to put down the requirements, clearly identifying the information needed by the
user, the source of the information and outputs expected from the system.

16 | P a g e
Objectives

Objective of doing this project is to provide cost effective solutions to customers.


Some of the client requirement and objectives of this site is as under: -

• Facilitate Communication.
• Building Community.
• Information Sharing.
• Academic Support.
• Career Development.
• Event Management.
• Integration with Academic Systems.
• Alumni Engagement.
• Safety and Support.
• Feedback and Improvement.
• User can search for different options available.
• User can do on-line interaction etc.

15 | P a g e
16 | P a g e
VISHVESHWARYA GROUP OF INSTITUTIONS GREATER
NOIDA (U.P.)

FEASIBILITY STUDY

Feasibility study is made to see if the project on completion will serve the purpose of the
organization for the amount of work, effort and the time that spend on it. Feasibility study lets
the developer foresee the future of the project and the usefulness. A feasibility study of a system
proposal is according to its workability, which is the impact on the organization, ability to meet
their 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.

The document
provide the feasibility of the project that is being designed and lists various areas that were
considered very carefully during the feasibility study of this project such as Technical, Economic
and Behavioral feasibilities. The following are its features:

TECHNICAL FEASIBILITY: -

The system must be evaluated from the technical point of view first. The assessment of this
feasibility must be based on an outline design of the system requirement in the terms of input,
output, programs and procedures. Having identified an outline system, the investigation must go
on to suggest the type of equipment, required method developing the system, of running the
system once it has been designed.

Technical issues raised during the investigation are:


Does the existing technology sufficient for the suggested one?
Can the system expand if developed?
The project should be developed such that the necessary functions and performance are achieved
within the constraints. The project is developed within latest technology. Through the technology
may become obsolete after some period of time,

17 | P a g e
due to the fact that never version of same software supports older versions, the system may still
be used. So there are minimal constraints involved with this project. The system has been
developed using Java the project is technically feasible for development.

ECONOMIC FEASIBILITY: -
The developing system must be justified by cost and benefit. Criteria to ensure that effort is
concentrated on project, which will give best, return at the earliest. One of the factors, which
affect the development of a new system, is the cost it would require.

The following are some of the important financial questions asked during preliminary
investigation:
1.The costs conduct a full system investigation.
2.The cost of the hardware and software.
3.The benefits in the form of reduced costs or fewer costly errors.

Since the system is developed as part of project work, there is no manual cost to spend for the
proposed system. Also all the resources are already available, it give an indication of the system
is economically possible for development.

BEHAVIORAL FEASIBILITY

This includes the following questions:

 Is there sufficient support for the users?


 Will the proposed system cause harm?

The project would be beneficial because it satisfies the objectives when developed and installed.
All behavioral aspects are considered carefully and conclude that the project is behaviorally
feasible.

18 | P a g e
VISHVESHWARYA GROUP OF INSTITUTIONS GREATER
NOIDA (U.P.)

SYSTEM ANALYSIS

System analysis is a process of gathering and interpreting facts, diagnosing problems and the
information to recommend improvements on the system. It is a problem solving activity that
requires intensive communication between the system users and system developers. System
analysis or study is an important phase of any system development process. The system is
studied to the minutest detail and analyzed. The system analyst plays the role of the interrogator
and dwells deep into the working of the present system. The system is viewed as a whole and the
input to the system are identified. The outputs from the organizations are traced to the various
processes. System analysis is concerned with becoming aware of the problem, identifying the
relevant and decisional variables, analyzing and synthesizing the various factors and determining
an optimal or at least a satisfactory solution or program of action.
A detailed study of the process must be made
by various techniques like interviews, questionnaires etc. The data collected by these sources
must be scrutinized to arrive to a conclusion. The conclusion is an understanding of how the
system functions. This system is called the existing system. Now the existing system is subjected
to close study and problem areas are identified. The designer now functions as a problem solver
and tries to sort out the difficulties that the enterprise faces. The solutions are given as proposals.
The proposal is then weighed with the existing system analytically and the best one is selected.
The proposal is presented to the user for an endorsement by the user. The proposal is reviewed
on user request and suitable changes are made. This is loop that ends as soon as the user is
satisfied with proposal.
Preliminary study is the process of gathering and interpreting facts, using the information for
further studies on the system. Preliminary study is problem solving activity that requires
intensive communication between the system users and system developers. It does various
feasibility studies. In these studies a rough figure of the system activities can be obtained, from
which the decision about the strategies to be followed for effective system study and analysis can
be taken.

A detailed study of existing system is carried along with all the steps in system analysis. An idea
for creating a better project was carried and the next steps were followed.

Existing System

In the existing system only we can see the details of particular information about the
College in our state, the existing system has more workload. But, in case of proposed
system, the admin can use my system to maintain different types of work.

Drawback of Existing System


1. More man power
2. Time consuming
3. Consuming large volume of pare work
4. Need Manual Calculation
5. Damage of machines due to lack of attentions

To avoid all these limitations and the make the working more accurately the system need
to be computerized.

Proposed System

The aim of proposed system is to develop a system of improved facilities. The proposed
system can overcome all the limitations of the existing system. The system provides
proper security and reduces the manual work. The existing system has several
disadvantages and many more difficulties to work well. The proposed system tries to

20 | P a g e
eliminate or reduce these difficulties up to some extent. The proposed system will help
the user to reduce the workload and mental conflict. The proposed system helps the user
to work user friendly and he can easily do his jobs without time lagging.

Expected advantages of Proposed System

The System is very simple in design to implement. The system requires very low system
resources and the system will work in almost all configurations. It has got following
features
1.Ensure data accuracies.
2.Reduce the damages of the machines.
3.Minimize manual data entry.
4.Minimum time needed for the various processing
5.Greater efficiency.
6.Better service.
7.User friendliness and interactive.

21 | P a g e
FLOW CHART

22 | P a g e
ER Diagram

Portrait Mode

23 | P a g e
Landscape Mode

24 | P a g e
FLOW DIAGRAM(S) DATA

DFD 0 Level

DFD 1 Level

25 | P a g e
SPECIFIC REQUIREMENTS

Hardware Specification (minimum)

Pentium IV / AMD
Processor : Processor

RAM : 2 GB

Hard disk : 100 GB

Monitor : 15 inch

Mouse : 3 Button scroll

CD Drive : Not Necessary

Keyboard : 108 keys

Software Specification (minimum)

Win7 / Win8 / Win10 / MAC / LINUX /


Operating System : UNIX

Languages : Java

Front End : Struts 2.3

Platform : JAVA (JRE)

Backend : MySQL
MySQL Workbench 6.3 CE and Net Beans
Supporting Software : 8.2
26 | P a g e
EXTERNAL INTERFACE REQUIREMENTS

USER INTERFACES
 Front-end software: React JavaScript Framework
 Back-end software: Firebase

HARDWARE INTERFACES
 Windows 11
 Intel Core i5 with 8 GB RAM

 Browser which supports HTML & JavaScript as well as Firebase

SOFTWARE INTERFACES
Software used Description

We have chosen Windows 11 operating system for its best


Operating system support.

Database To save the records, we have chosen Firebase.

To implement the project, we have chosen JavaScript for its more


interactive and support
VS Code

Communications Protocol(s)
This project supports all types of web browsers

We use one major communication protocol to verify user registration. That protocol is SMTP.

SMTP is simple mail transfer protocol i.e. used for sending mail. We use Google mail API to
send mail to the registered user when they perform registration on VGI-VERSE.

27 | P a g e
SOFTWARE SYSTEM ATTRIBUTE

Compatibility

Usability

Correctness

Customizability

Effectiveness

Fault-tolerant design

Maintainability

Modifiability

Modular programming

Operability

Recoverability

Reusability

Scalability

Safety

DATABASE REQUIREMENT(S)

Firebase version 5.0 or above.

Database should be properly backup while going to deploy this project.

Some procedures are there in database. We must have to backup them also to change the location
of the database in future or deploy this project.

28 | P a g e
VISHVESHWARYA GROUP OF INSTITUTION
GREATER NOIDA (U.P.)

DESIGN

Design is the first step into the development phase for any engineered product or system. Design
is a creative process. A good design is the key to effective system. The term “design” is defined
as “the process of applying various techniques and principles for the purpose of defining a
process or a system in sufficient detail to permit its physical realization”. It may be defined as a
process of applying various techniques and principles for the purpose of defining a device, a
process, or a system in sufficient detail to permit its physical realization. Software design sits at
the technical kernel of the software engineering process and is applied regardless of the
development paradigm that is used. The system design develops the architectural detail required
to build a system or product. As in the case of any systematic approach, this software too has
undergone the best possible design phase fine tuning all efficiency, performance, and accuracy
levels. The design phase is a transition from a user-oriented document to a document to the
programmers or database personnel. System design goes through two phases of development:
Logical and Physical Design.

LOGICAL DESIGN:

The logical flow of a system and define the boundaries of a system. It includes the following
steps:

29 | P a g e
Reviews the current physical system – its data flows, file content, volumes, Frequencies etc.

Prepares output specifications – that is, determines the format, content, and Frequency of

reports.

Prepares input specifications – format, content, and most of the input functions.

Prepares edit, security, and control specifications.

Specifies the implementation plan.

Prepares a logical design walk through of the information flow, output, input, Controls.

Reviews benefits, costs, target dates and system constraints.

PHYSICAL DESIGN:

Physical system produces the working systems by define the design specifications that tell the
programmers exactly what the candidate system must do. It includes the following steps.

Design the physical system.


Specify input and output media.
Design the database and specify backup procedures.
Design physical information flow through the system and a physical design
Plan system implementation.
Prepare a conversion schedule and target date.
Determine training procedures, courses, and timetable.
Devise a test and implementation plan and specify any new hardware/software.
Update benefits, costs, conversion date and system constraints

Design Specification activities:


Concept formulation.
Problem understanding.

High level requirements proposals.


Feasibility study.
Requirements engineering.
Architectural design.

30 | P a g e
INPUT DESIGN:
The input design is the link between the information system and the user. It comprises the developing
specification and procedures for data preparation and those steps are necessary to put transaction data
in to a usable form for processing can be achieved by inspecting the computer to read data from a
written or printed document or it can occur by having people keying the data directly into the system.
The design of input focuses on controlling the amount of input required, controlling the errors,
avoiding delay, avoiding extra steps and keeping the process simple. The input is designed in such a
way so that it provides security and ease of use with retaining the privacy. Input Design considered
the following things:

o How the data should be arranged or coded?


o The dialog to guide the operating personnel in providing input.
o Methods for preparing input validations and steps to follow when error occur.
What data should be given as input
o

OBJECTIVES
 Input Design is the process of converting a user-oriented description of the input into a
computer-based system. This design is important to avoid errors in the data input process

and show the correct direction to the management for getting correct information from
the computerized system.
 It is achieved by creating user-friendly screens for the data entry to handle large volume
of data. The goal of designing input is to make data entry easier and to be free from
errors.
The data entry screen is designed in such a way that all the data manipulates can be
performed. It also provides record viewing facilities.

31 | P a g e
 When the data is entered it will check for its validity. Data can be entered with the
help of screens. Appropriate messages are provided as when needed so that the user will
not
be in maize of instant. Thus, the objective of input design is to create an input layout that
is easy to follow

OUTPUT DESIGN
A quality output is one, which meets the requirements of the end user and presents the
information clearly. In any system results of processing are communicated to the users and to
other system through outputs. In output design it is determined how the information is to be
displaced for immediate need and also the hard copy output. It is the most important and direct
source information to the user. Efficient and intelligent output design improves the system’s
relationship to help user decision-making.

Designing computer output should proceed in an organized, well thought out manner; the right
output must be developed while ensuring that each output element is designed so that people will
find the system can use easily and effectively. When analysis design computer output, they
should Identify the specific output that is needed to meet the requirements.
Select methods for presenting information.

Create document, report, or other formats that contain information produced by the system.

The output form of an information system should accomplish one or more of the following
objectives.

o Convey information about past activities, current status or projections of the Future.

o Signal important events, opportunities, problems, or warnings.


o Trigger an action.
o Confirm an action.

32 | P a g e
Database Design

A database is an organized mechanism that has the capability of storing information through
which a user can retrieve stored information in an effective and efficient manner. The data is
the purpose of any database and must be protected.

The database design is a two level process. In the first step, user requirements are gathered
together and a database is designed which will meet these requirements as clearly as possible.
This step is called Information Level Design and it is taken independent of any individual
DBMS.

In the second step, this Information level design is transferred into a design for the specific
DBMS that will be used to implement the system in question. This step is called Physical Level
Design, concerned with the characteristics of the specific DBMS that will be used. A database
design runs parallel with the system design. The organization of the data in the database is aimed
to achieve the following two major objectives.

 Data Integrity
 Data independence

Normalization is the process of decomposing the attributes in an application, which results in a


set of tables with very simple structure. The purpose of normalization is to make tables as simple
as possible. Normalization is carried out in this system for the following reasons.

 To structure the data so that there is no repetition of data, this helps in saving.
 To permit simple retrieval of data in response to query and report request.

 To simplify the maintenance of the data through updates, insertions, Deletions.


 To reduce the need to restructure or reorganize data which new application
 Requirements arise.

33 | P a g e
RELATIONAL DATABASE MANAGEMENT SYSTEM (RDBMS):

A relational model represents the database as a collection of relations. Each relation resembles a
table of values or file of records. In formal relational model terminology, a row is called a tuple,
a column header is called an attribute and the table is called a relation. A relational database
consists of a collection of tables, each of which is assigned a unique name. A row in a tale
represents a set of related values.

RELATIONS, DOMAINS & ATTRIBUTES:


A table is a relation. The rows in a table are called tuples. A tuple is an ordered set of n elements.
Columns are referred to as attributes. Relationships have been set between every table in the
database. This ensures both Referential and Entity Relationship Integrity. A domain D is a set of
atomic values. A common method of specifying a domain is to specify a data type from which
the data values forming the domain are drawn. It is also useful to specify a name for the domain
to help in interpreting its values. Every value in a relation is atomic, that is not decomposable.

RELATIONSHIPS:
Table relationships are established using Key. The two main keys of prime importance are Primary
Key & Foreign Key. Entity Integrity and Referential Integrity Relationships
can be established with these keys.
Entity Integrity enforces that no Primary Key can have null values.
Referential Integrity enforces that no Primary Key can have null values.
Referential Integrity for each distinct Foreign Key value, there must exist a matching Primary
Key value in the same domain. Other key is Super Key and Candidate Keys.
Relationships have been set between every table in the database. This ensures both Referential
and Entity Relationship Integrity.

34 | P a g e
NORMALIZATION:

As the name implies, it denoted putting things in the normal form. The application developer via
normalization tries to achieve a sensible organization of data into proper tables and columns and
where names can be easily correlated to the data by the user. Normalization eliminates repeating
groups at data and thereby avoids data redundancy which proves to be a great burden on the
computer resources. These include:

Normalize the data.


Choose proper names for the tables and columns.
Choose the proper name for the data.

First Normal Form:

The First Normal Form states that the domain of an attribute must include only
atomic values and that the value of any attribute in a tuple must be a single value
from the domain of that attribute. In other words 1NF disallows “relations within
relations” or “relations as attribute values within tuples”. The only attribute values
permitted by 1NF are single atomic or indivisible values.

The first step is to put the data into First Normal Form. This can be donor by moving
data into separate tables where the data is of similar type in each table. Each table is
given a Primary Key or Foreign Key as per requirement of the project. In this we
form new relations for each non atomic attribute or nested relation. This eliminated
repeating groups of data.

A relation is said to be in first normal form if only if it satisfies the constraints that
contain the primary key only.

Second Normal Form:


According to Second Normal Form, for relations where primary key contains multiple
attributes, no non key attribute should be functionally dependent on a part of the
primary key.

35 | P a g
In this we decompose and setup a new relation for each partial key with its dependent
attributes. Make sure to keep a relation with the original primary key and any
attributes that are fully functionally dependent on it. This step helps in taking out data
that is only dependent on a part of the key.

A relation is said to be in second normal form if and only if it satisfies all the first
normal form conditions for the primary key and every non-primary key attributes of
the relation is fully dependent on its primary key alone.

Third Normal Form:

According to Third Normal Form, Relation should not have a non-key attribute
functionally determined by another non-key attribute or by a set of non-key attributes.
That is, there should be no transitive dependency on the primary key.

In this we decompose and set up relation that includes the non-key attributes that
functionally determines other non-key attributes. This step is taken to get rid of
anything that does not depend entirely on the Primary Key.

A relation is said to be in third normal form if only if it is in second normal form and
more over the non key attributes of the relation should not be depend on other non-
key attribute.

36 | P a g e
VISHVESHWARYA GROUP OF INSTITUTIONS
GREATER NOIDA (U.P.)

CODING

The purpose of coding is to facilitate the identification, retrieval of the items and information. A
code is an oriented collection of symbols design to provide unique identification of an entry or
attribute. Code is built with manually exclusive features. Codes in all cases specify object which
are physical or on performance characteristics. They are used to give optimal distraction and
other information. Codes are used for identifying, accessing, storing and matching records. The
codes insure that only one value of the code with a single meaning is correctly applied to give
entity or attribute as described in various ways. Code can also be design in a manner easily
understood and applied by the user.

Example: -
package pac;

import com.opensymphony.xwork2.ActionSupport;

import java.sql.ResultSet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpSession;

import org.apache.struts2.ServletActionContext;

public class LoginAction extends ActionSupport

public String getMsg() {

37 | P a g e
return msg;

public void setMsg(String msg) {

this.msg = msg;

public String getMode() {

return mode;

public void setMode(String mode) {

this.mode = mode;

public String getUserId() {

return userId;

public void setUserId(String userId) {

this.userId = userId;

public String getPassword() {

return password;
}

public void setPassword(String password) {

this.password = password;
}

private String userId;

private String password;

private String msg;

private String mode;

@Override

38 | P a g e
public void validate()

if(userId.equals(""))

addFieldError("userId","User ID can't blank");

if(password.equals(""))

addFieldError("password","Password can't blank");

@Override

public String execute() throws Exception

HttpServletRequest req = ServletActionContext.getRequest();

HttpSession ses = req.getSession(true);

mode=db.Admin.checkId(userId, password);

if(!mode.startsWith("Sorry"))

String ll=db.Admin.getActive(userId);

String vmsg;

if(ll==null)

vmsg = db.Admin.setActive(userId);

else

{
vmsg=db.Admin.updActive(userId);
}

if(vmsg!=null)

{
ses.setAttribute("UserID", userId);

39 | P a g e
ses.setAttribute("UserMode", mode);

return "SUCCESS";

else

ses.setAttribute("LoginMsg", msg);

return "FAILURE";

else
{
ses.setAttribute("LoginMsg", msg);

return "FAILURE";
}

40 | P a g e
VISHVESHWARYA GROUP OF INSTITUTIONS
GREATER NOIDA (U.P.)

TESTING

Software Testing is the process of executing software in a controlled manner, in order to answer
the question - Does the software behave as specified? Software testing is often used in
association with the terms verification and validation. Validation is the checking or testing of
items, includes software, for conformance and consistency with an associated specification.
Software testing is just one kind of verification, which also uses techniques such as reviews,
analysis, inspections, and walkthroughs. Validation is the process of checking that what has been
specified is what the user actually wanted.

Validation : Are we doing the right job?

Verification : Are we doing the job right?

Software testing should not be confused with debugging. Debugging is the process of
analyzing and localizing bugs when software does not behave as expected. Although the
identification of some bugs will be obvious from playing with the software, a methodical
approach to software testing is a much more thorough means for identifying bugs. Debugging is
therefore an activity which supports testing, but cannot replace testing.

Other activities which are often associated with software testing are static analysis and dynamic
analysis. Static analysis investigates the source code of software, looking for problems and gathering
metrics without actually executing the code. Dynamic analysis looks at the behavior of

41 | P a g e
software while it is executing, to provide information such as execution traces, timing profiles,
and test coverage information.

Testing is a set of activity that can be planned in advanced and conducted systematically. Testing
begins at the module level and work towards the integration of entire computers based system.
Nothing is complete without testing, as it vital success of the system testing objectives, there are
several rules that can serve as testing objectives. They are

Testing is a process of executing a program with intend of finding an error.

A good test case is one that has high possibility of finding an undiscovered error.
A successful test is one that uncovers an undiscovered error.

If a testing is conducted successfully according to the objectives as stated above, it would


uncovered errors in the software also testing demonstrate that the software function appear to be
working according to the specification, that performance requirement appear to have been met.

There are three ways to test program.

For correctness

For implementation efficiency


For computational complexity

Test for correctness are supposed to verify that a program does exactly what it was designed to
do. This is much more difficult than it may at first appear, especially for large programs.

TEST PLAN: - A test plan implies a series of desired course of action to be followed
inaccomplishing various testing methods. The Test Plan acts as a blue print for the action that is to be
followed. The software engineers create a computer program, its documentation and related data
structures. The software developers is always responsible for testing the individual units of the
programs, ensuring that each performs the function for which it was designed. There is an
independent test group (ITG) which is to remove the inherent problems associated with letting the
builder to test the thing that has been built. The specific objectives of testing should be stated in
measurable terms. So that the mean time to failure, the cost to find and fix the defects,

42 | P a g e
remaining defect density or frequency of occurrence and test work-hours per regression test all
should be stated within the test plan.

The levels of testing include:

o Unit testing
o Integration Testing
o Data validation Testing
o Output Testing

UNIT TESTING: -
Unit testing focuses verification effort on the smallest unit of software design – the
software component or module. Using the component level design
description as a guide, important control paths are tested to uncover errors within the
boundary of the module. The relative complexity of tests and uncovered scope
established for unit testing. The unit testing is white-box oriented, and step can be
conducted in parallel for multiple components. The modular interface is tested to ensure
that information properly flows into and out of the program unit under test. The local data
structure is examined to ensure that data stored temporarily maintains its integrity during
all steps in an algorithm’s execution. Boundary conditions are tested to ensure that all
statements in a module have been executed at least once. Finally, all error handling paths
are tested.

Tests of data flow across a module interface are required before any other test is initiated.
If data do not enter and exit properly, all other tests are moot. Selective testing of
execution paths is an essential task during the unit test. Good design dictates that error
conditions be anticipated and error handling paths set up to reroute or cleanly terminate
processing when an error does occur. Boundary testing is the last task of unit testing step.
Software often fails at its boundaries.

Unit testing was done in Sell-Soft System by treating each module


as separate entity and testing each one of them with a wide spectrum of test inputs. Some
flaws in the internal logic of the modules were found and were rectified.
43 | P a g e
INTEGRATION TESTING: -
Integration testing is systematic technique for constructing the program structure while at
the same time conducting tests to uncover errors associated
with interfacing. The objective is to take unit tested components and build a program
structure that has been dictated by design. The entire program is tested as whole.
Correction is difficult because isolation of causes is complicated by vast expanse of entire
program. Once these errors are corrected, new ones appear and the process continues in a
seemingly endless loop.

After unit testing in Sell-Soft System all the modules were integrated to test
for any inconsistencies in the interfaces. Moreover, differences in program structures
were removed and a unique program structure was evolved.

VALIDATION TESTING OR SYSTEM TESTING: -

This is the final step in testing. In this theentire system was tested as a whole with all
forms, code, modules and class modules.
This form of testing is popularly known as Black Box testing or System tests.

Black Box testing method focuses on the functional requirements of the software. That is,
Black Box testing enables the software engineer to derive sets of input conditions that
will fully exercise all functional requirements for a program.

Black Box testing attempts to find errors in the following categories; incorrect or missing
functions, interface errors, errors in data structures or external data access, performance
errors and initialization errors and termination errors.

OUTPUT TESTING OR USER ACCEPTANCE TESTING: -


The system considered is tested for user acceptance; here it should satisfy the firm’s need.
The software should keep in touch

with perspective system; user at the time of developing and making changes whenever
required. This done with respect to the following points
44 | P a g e
 Input Screen Designs,
 Output Screen Designs,
 Online message to guide the user and the like.
The above testing is done taking various kinds of test data. Preparation of test data plays a vital
role in the system testing. After preparing the test data, the system under study is tested using
that test data. While testing the system by which test data errors are again uncovered and
corrected by using above testing steps and corrections are also noted for future use.

VALIDATION CHECKING

At the culmination of integration testing, software is completely assembled as a package; interfacing


errors have been uncovered and corrected, and a final series of software test-validation checks may
begin. Validation can be defined in many ways, but a simple definition (Albeit Harsh) is that
validation succeeds when software functions in a manner that can be reasonably expected by a
customer. Software validation is achieved through a series of black-box tests to be conducted and a
test procedure defines specific test cases that will be used in attempt to uncover errors in conformity
with requirements. Both the plan and procedure are designed to ensure that all functional
requirements are satisfied; all performance requirements are achieved; documentation is correct and
human –Engineered and other requirements are met. Once the application was made free of all
logical and interface errors , inputting dummy data to ensure that the software developed satisfied all
the requirements of the user did validation checks.

However, the data are created with the intent of determining whether the system will process
them correctly.

45 | P a g e
VISHVESHWARYA GROUP OF INSTITUTIONS
GREATER NOIDA (U.P.)

IMPLEMENTATION

Implementation is the stage of the project where the theoretical design is turned into a working
system. It can be considered to be the most crucial stage in achieving a successful new system
gaining the users confidence that the new system will work and will be effective and accurate. It
is primarily concerned with user training and documentation. Conversion usually takes place
about the same time the user is being trained or later. Implementation simply means convening a
new system design into operation, which is the process of converting a new revised system
design into an operational one.

Implementation is the stage of the project where the theoretical design is


tuned into a working system. At this stage the main work load, the greatest upheaval and the
major impact on the existing system shifts to the user department.

Implementation includes all those activities


that take place to convert from the existing system to the new system. The new system may be a
totally new, replacing an existing manual or automated system or it may be a modification to an
existing system. Proper implementation is essential to provide a reliable system to meet
organization requirements. The process of putting the developed system in actual use is called
system implementation. This includes all those activities that take place to convert from the old
system to the new system. The system can be implemented only after through testing is done and
if it is found to be working according

46 | P a g e
to the specifications. The system personnel check the feasibility of the system. The more
complex the system being implemented, the more involved will be the system analysis and
design effort required to implement the three main aspects: education and training, system testing
and changeover. The implementation state involves the following tasks:

Careful planning.
Investigation of system and constraints.
Design of methods to achieve the changeover.
Training of the staff in the changeover phase.

Implementation Procedures: - Implementation of software refers to the final installation


of the package in its real environment, to the satisfaction of the intended uses and the operation
of the system. In many organizations someone who will not be operating it, will commission the
software development project. In the initial stage people doubt about the software but we have to
ensure that the resistance does not build up, as one has to make sure that

The active user must be aware of the benefits of using the new system.
Their confidence in the software is built up.

Proper guidance is imparted to the user so that he is comfortable in using the


application.

Before going ahead and viewing the system, the user must know that for viewing the result, the
server program should be running in the server. If the server object is not up running on the
server, the actual process won’t take place.

User Training: - User training is designed to prepare the user for testing and converting the
system. To achieve the objective and benefits expected from computer based system, it is
essential for the people who will be involved to be confident of their role in the new system. As
system becomes more complex, the need for training is more important. By user training the user
comes to know how to enter data, respond to error messages, interrogate the database and call up
routine that will produce reports and perform other necessary functions.

47 | P a g e
Training on the Application Software: - After providing the necessary basic training on
computer awareness the user will have to be trained on the new application software. This will
give the underlying philosophy of the use of the new system such as the screen flow, screen
design type of help on the screen, type of errors while entering the data, the corresponding
validation check at each entry and the ways to correct the date entered. It should then cover
information needed by the specific user/ group to use the system or part of the system while
imparting the training of the program on the application. This training may be different across
different user groups and across different levels of hierarchy.

Operational Document: - Once the implementation plan is decided, it is essential that the
user of the system is made familiar and comfortable with the environment. Education involves
right atmosphere and motivating the user. A documentation providing the whole operations of
the system is being developed in such a way that the user can work with it in well consistent
way. The system is developed user friendly so that the user can work the system from the tips
given in the application itself. Useful tip and guidance is given inside the application itself to
help the user.

System Maintenance: - Maintenance is the enigma of system development. The


maintenance phase of the software cycle is the time in which a software product performs useful
work. After a system is successfully implemented, it should be maintained in a proper manner.
System maintenance is an important aspect in the software development life cycle. The need for
system maintenance is for it to make adaptable to the changes in the system environment.
Software maintenance is of course, far more than "Finding Mistakes". Maintenance may be
defined by describing four activities that are undertaken after a program is released for use.

48 | P a g e
VISHVESHWARYA GROUP OF INSTITUTIONS
GREATER NOIDA (U.P.)

MAINTENANCE

Software maintenance is the last phase in the software Engineering process that eliminates errors
in the working system during its work span and to tune the system to any variations in its
working environment. The system requires maintenance as there may be changes and
requirements in the organizational needs, government policies, hardware and software
environment etc. often small system deficiencies are found as a system is brought into operation
and changes are made to remove them. System requirements may be revised as a result of system
usage or changing operational needs. Perhaps oversight that occurred during the development
process needs to be corrected. Often the maintenance need arises to capture additional data for
storage in a database or in transaction files or perhaps it may be necessary to add error detection
features to prevent system users from in adversely taking an unwanted action.

Maintenance of the system after it is installed is concerned with an additional factor in


hardware. Once the system is delivered and installed there is a brief warranty period during
which time the vendor is responsible for maintenance. This is a typically a 90 day period after
that time the purchaser has the option of acquiring maintenance from various sources.
Maintenance source excepting vendor is also available from companies specializing in providing
the service, called third party maintenance companies.

49 | P a g e
When the system is installed, it is generally used for long period. The average life of system is 4-
6 years, with the eldest applications often is used for over 10 years. The need for debugging and
correcting errors or failure on an emergency basic is comparatively low: less than 20% of the
task of correction. System and organization are in constant state of flux; therefore, the
maintenance of the system also involved adoptions for earlier version of software.

Approximately 20% of all maintenance work is performed to accommodate changes in report,


files and database. The greatest amount of maintenance work is for user enhancement, improved
documentation and recording system components or greater efficiency. About 60% of all
maintenance is for this purposed.

Following table summarized the broad classes of maintenance found in development of


sekkjob.com

CATEGORY ACTIVITY

Corrective Emergency fixes, routine debugging.


Adaptive Accommodation of changes to data and to hardware
And software, Changes in the external environment.

Pre effective User enhancement, improved documentation recording


Of computational efficiency, user recommendations for

New capabilities.

1. Preventive Routine service of cleaning and adjusting the equipment


To prevent breakdowns, future maintainability reliability

Enhancement, recovering design information to improve

The overall quality.

50 | P a g e
Maintainable Design
The points to reduce the needs for maintenance are:

 More accurately defining the user’s requirements during the system development
assembling better system documentation.

 Using more effective methods for designing process logic and communicating it to
project team members.

 Making better use of existing tools and techniques.

 Managing the system engineering process effectively.

The maintenance for Integrated Advertising System was performed with the above-mentioned
points as the underlying principles and according to the demands of the users.

51 | P a g e
52 | P a g e
56 | P a g e
57 | P a g e
59 | P a g e
Screen Shots
Home Page (Index)

60 | P a g e
Registration Page

61 | P a g e
Login Page

Forget Password

62 | P a g e
Change Password

Dash Board – Admin

63 | P a g e
Consultancy Dash Board –

Consultancy Profile Update –

64 | P a g e
Consultancy Job Post –

Consultancy After Job Post –

65 | P a g e
Consultancy View Job Post –

Consultancy Edit Job Post –

66 | P a g e
Company Dash Board –

Company Profile –

67 | P a g e
Company Post Job –

Company View Post Jobs –

68 | P a g e
Company Edit Job Post –

Company Apply Jobs List –

69 | P a g e
Candidate Dash Board –

Candidate View Post Jobs –

70 | P a g e
Candidate Apply Post Jobs –

Candidate View Apply Jobs –

71 | P a g e
Another Candidate Dash Board –

72 | P a g e
Candidate Qualification Page –

Candidate Employment Details –

73 | P a g e
Candidate Photo Page –

Candidate Language Page –

74 | P a g e
Candidate Project Details –

Candidate Carrier Page –

75 | P a g e
Candidate Saved Job List –

Add New FAQ –

76 | P a g e
Contact Us Page –

FAQ Page –

77 | P a g e
About Us Page –

78 | P a g e
VISHVEAHWARYA GROUP OF INSTITUTIONS
GREATER NOIDA (U.P.)

CONCLUSION

The project titled as “Job Portal” is a web based application. This website provides facility for
posting and applying job freely on the web. This website is developed with scalability in mind.
Additional modules can be easily added when necessary. The website is developed with modular
approach. All modules in the system have been tested with valid data and invalid data and
everything work successfully. Thus the system has fulfilled all the objectives identified and is
able to replace the existing system. The extra tools are provided in this website like tooltip to
identify the work “what to do with this website”.

The project has been completed successfully with the maximum satisfaction of the organization.
The constraints are met and overcome successfully. The system is designed as like it was decided
in the design phase. The project gives good idea on developing a full-fledged application
satisfying the user requirements.

The system is very flexible and versatile. This website has a user-friendly screen that enables
the user to use without any inconvenience. Validation checks induced have greatly reduced
errors. Provisions have been made to upgrade the website. The application has been tested with
live data and has provided a successful result. Hence the website has proved to work efficiently.

79 | P a g e
FUTURE SCOPE

In future we add extra feature like welcome guide, chatting and rating to enhance the website
and to capture the crowed on the website. In the proposed system the user is provided with a
choice of data screen, which are similar in formats to the source documents. Data entry errors
can be minimized through validity checks. After the verification only the data are placed the
permanent database. High speed, accuracy and non-redundant data are the main advantages
of the proposed system. The software can be developed further to include a lot of modules
because the proposed system is developed on the view of future. This proposed system is
fully designed with require database. If extra database is required by administrator, then we
can develop. In sort, we can deploy new release with more database, more efficiency, more
graphic design, and more simplicity.

In future scope we can include features like welcoming guide which enables the new users
which can be newly admitted students or can be visitors to know about the specific location
in the campus. For large campuses of college, it is not easy for any visitor to know where is
cafeteria, conference hall, library, central hall, café and many more. Hence this welcome
guide will guide new user to their destinations.

One more feature we can add is the periodic feedback of classes regarding performances,
teaching methods of faculty members, results, and many other parameters. It helps to check
and maintain everything more efficiently and easily.
80 | P a g e
81|Page
APPENDICES
_____________________________________________________________________________________

APPENDIX-A
Backend remains on server side and has two components i.e.

Server side program


Database

Data base is the most important thing in this universe as data base gives identity to a
thing.Without data base, existence of a thing is impossible while working on a project first step is
to design a database.

What is database?

Data Base is a collection of tables and table is a collection of records in a tabular form i.e. in row
and columns.

Data Base can be divided into two parts:-

RDBS.
DBMS.

We will be using NoSQL in our project i.e. Firebase Realtime cloud.

Why we are using Why Firebase?

82 | P a g e
NoSQL databases offer several advantages over traditional relational databases, making
them suitable for specific types of applications and data requirements. Here are some of the
key merits of NoSQL databases:

Scalability:
Horizontal Scaling: NoSQL databases can scale out by adding more servers, which is easier
and often more cost-effective than the vertical scaling required by many relational
databases.

High Availability: NoSQL systems are designed to be highly available, with data
replication across multiple nodes to ensure continuous availability and redundancy.

Flexibility:
Schema-less Design: NoSQL databases typically do not require a fixed schema, allowing for
the storage of unstructured, semi-structured, or structured data without predefined
schemas. This makes them highly flexible and adaptable to changing data models.

Variety of Data Models: They support various data models, such as key-value stores,
document stores, column-family stores, and graph databases, catering to different types of
data and use cases.

Performance:
High Throughput and Low Latency: NoSQL databases are optimized for read and write
operations, often resulting in better performance for large-scale applications compared to
traditional relational databases.

Optimized for Big Data: They are designed to handle large volumes of data and high
transaction rates, making them ideal for big data applications.

Development Speed and Agility:


Rapid Development: With schema-less designs, developers can quickly iterate and modify
the database structure without extensive migrations, facilitating agile development
practices.

Ease of Use: Many NoSQL databases come with APIs and query languages that are easy to
use, simplifying the development process.
Cost Efficiency:
Lower Infrastructure Costs: The ability to use commodity hardware and open-source
NoSQL solutions can significantly reduce infrastructure costs compared to traditional
relational databases that may require more expensive hardware and licenses.

Operational Savings: Automated scaling, replication, and failover features reduce the
operational burden and associated costs.

Handling Diverse Data Types:


Multimedia and IoT: NoSQL databases can efficiently store and manage a wide variety of
data types, including text, images, videos, sensor data, and more, making them suitable for
multimedia and Internet of Things (IoT) applications.

Real-time Analytics: They are well-suited for applications requiring real-time analytics and
data processing, such as social media platforms and recommendation systems.

Geographical Distribution:
Distributed Architecture: Many NoSQL databases are designed to be distributed across
multiple data centers and regions, providing global availability and minimizing latency for
geographically dispersed users.

About Firebase :

Firebase is a comprehensive platform developed by Google for creating web and mobile
applications. It provides a suite of cloud-based services and tools designed to simplify the
development process, enhance app functionality, and improve user engagement. Here are
some key aspects and benefits of using Firebase:

Core Features
Realtime Database:
A NoSQL cloud database that allows data to be stored and synced between users in real-
time. It supports JSON data and offers offline support, ensuring a seamless experience for
users even without an internet connection.

Firestore:
An advanced NoSQL database, Firestore is part of Firebase that provides real-time
updates, rich querying, and better scalability. It supports more complex data structures
and is designed for larger-scale applications.
Authentication:
Simplifies the process of user authentication by providing ready-made authentication
solutions, including support for email and password, phone number, and third-party
providers like Google, Facebook, and Twitter.

Cloud Functions:
Serverless framework that allows developers to run backend code in response to events
triggered by Firebase features and HTTPS requests. This helps in extending the app
functionality without managing servers.

Cloud Messaging:
A reliable service for sending notifications and messages to users across platforms,
including Android, iOS, and web applications. It supports both targeted and broad
messaging strategies.

Analytics:
Firebase Analytics provides insights into user behavior and app performance. It offers
detailed reports on user engagement, retention, and more, helping developers make data-
driven decisions.

Crashlytics:
A powerful, real-time crash reporting tool that helps in tracking, prioritizing, and fixing
stability issues, ensuring a smoother experience for users.

Performance Monitoring:
Tools for monitoring app performance, identifying issues like slow screen rendering or
network request bottlenecks, and optimizing the user experience.

Remote Config:
Allows developers to change the behavior and appearance of their app without requiring
users to download an update. This can be used for A/B testing, feature flagging, and more.

Hosting:
Provides secure, fast, and reliable static and dynamic web hosting, supporting single-page
apps, custom domains, and serverless backend functionality.

In-App Messaging:
Helps in engaging active app users by sending targeted, contextual messages to drive app
usage and feature discovery.

Benefits
Ease of Integration:
Firebase offers a wide range of SDKs and is well-integrated with other Google services,
making it easy to incorporate various functionalities into your app quickly.

Scalability:
Designed to handle apps of all sizes, Firebase can scale automatically with your app’s
growth, accommodating an increasing number of users and data.

Security:
Provides robust security features, including comprehensive user authentication options and
security rules for databases, ensuring that data is protected.

Cross-Platform Support:
Firebase supports Android, iOS, web, and even Unity and C++ apps, allowing for
consistent and unified development across multiple platforms.

Cost-Effective:
Offers a free tier with generous limits on usage, making it accessible for small projects and
startups. As the app grows, Firebase's pricing plans can accommodate larger needs.

Developer Productivity:
With features like Realtime Database, Firestore, and Cloud Functions, developers can
focus more on building app features rather than managing infrastructure, thus
accelerating the development process.

Use Cases
Real-Time Collaboration: Apps like chat applications, collaborative tools, and social media
platforms can benefit from Firebase's real-time syncing capabilities.
Authentication and User Management: Simplifies the implementation of secure
authentication methods.

Data-Driven Applications: Applications requiring real-time data updates and complex


querying can leverage Firestore.

Cross-Platform Development: Ensures consistent experience and feature parity across


Android, iOS, and web apps.

Conclusion
Firebase provides a comprehensive, integrated set of tools and services that can
significantly reduce the complexity of developing modern web and mobile applications. Its
ease of use, scalability, and extensive feature set make it a popular choice among developers
aiming to build robust, user-friendly applications quickly and efficiently.
84 | P a g e
APPENDIX-B

What is Middle Ware?

Middle Ware is a concept, Middle Ware provides centralization of business logic i.e. instead of
putting logic on each and every client machine we put logic on a centralized server hence middle
ware is nothing but a server-side program where all your business logic and business methods reside.
It remains on server side and it has all the logical building. Middle ware provides: -

1. Multiple Client access.


2. Centralized business logic in case of distributed application.
Because we are working on Distributed Application Based Project we need platform independent
Language:-

Technology Used: React JS

Introduction to React.js
React.js is a popular JavaScript library for building user interfaces, primarily for single-
page applications where the goal is to offer a smooth and responsive user experience.
Developed and maintained by Facebook, React allows developers to create large web
applications that can update and render efficiently in response to data changes.

Key Features
Component-Based Architecture:

React encourages the building of encapsulated components that manage their own state.
These components can be composed to create complex user interfaces.
Virtual DOM:

React uses a virtual DOM to optimize updates and rendering. When the state of an object
changes, React updates the virtual DOM first, then efficiently updates the real DOM to
match.
JSX Syntax:
JSX is a syntax extension for JavaScript that allows developers to write HTML-like code
within JavaScript. This makes the code more readable and easier to write.
Unidirectional Data Flow:

React's unidirectional data flow makes it easier to debug and understand the state of an
application. Data flows downwards from parent components to child components, making
the state management more predictable.
Hooks:

Introduced in React 16.8, Hooks are functions that let developers use state and other React
features in functional components, without writing class components.
History of React.js
React was created by Jordan Walke, a software engineer at Facebook. It was first deployed
on Facebook's news feed in 2011 and later on Instagram in 2012.

Timeline of Key Events


2011:

React was first used internally at Facebook to build parts of the news feed.
May 2013:

React was open-sourced at JSConf US. This marked the beginning of its journey as a
widely adopted JavaScript library.
2014:

React Native was introduced, allowing developers to build mobile applications using React.
2015:

React 0.14 introduced the ability to use stateless functional components, improving the
simplicity and performance of React applications.
April 2016:

React 15 introduced significant improvements to the handling of the virtual DOM and
other internal optimizations.
September 2017:

React 16 (codenamed "Fiber") was released. This version included a complete rewrite of
React's core algorithm, improving performance and adding features such as error
boundaries, fragments, and the ability to return arrays and strings from components.
February 2019:

The introduction of Hooks in React 16.8 revolutionized how developers could use state and
other React features in functional components.
August 2020:

React 17 was released, focusing on making it easier to upgrade React itself. It introduced
no new developer-facing features but laid the groundwork for future improvements.
March 2022:

React 18 was introduced, featuring improvements in server-side rendering, concurrent


rendering, and new APIs like useTransition and useDeferredValue for better user
experience.
Use Cases
Single Page Applications (SPAs): React is ideal for SPAs that need dynamic content
updates without refreshing the entire page.
Complex User Interfaces: Its component-based structure makes it suitable for building
complex UIs with reusable components.
Mobile Applications: Using React Native, developers can build cross-platform mobile apps
with a single codebase.
Ecosystem
React has a vast ecosystem, including libraries and tools that complement and extend its
capabilities:

Redux: A state management library often used with React for managing complex
application states.
React Router: A routing library for handling navigation in React applications.
Next.js: A framework for server-side rendering and generating static websites with React.
Create React App: A command-line tool to set up a new React project with a sensible
default configuration.
Conclusion
React.js has become a cornerstone of modern web development due to its efficient
rendering, modularity, and ease of use. Its history of innovation and the backing of a
robust community ensure that it will remain a significant player in the development of
interactive and dynamic web applications.

90 | P a g e
APPENDIX-C

What is HTML?

HTML (Hyper Text Markup Language): A markup language used to structure text and
multimedia documents and to set up hypertext links between documents, used extensively on the
World Wide Web. HTML is a display language, not a programming language. HTML is a
markup language (the ML in HTML) that uses a fixed set of markup tags.

HTML itself is the set of customizable “markup” tags that are inserted into HTML document
govern its format, multimedia content, and hyperlinks.

The “language” HTML is really only a collection of predefined tags which, when inserted into
regular text, tell a web browser how to:

Format the document and its text.

Incorporate i.e. insert a graphic image, video sequence, or sound clip into the displayed
document.
Link into other locations, in the same document, in another web page, or even on another
computer (Server), or
Link to other programs written in Java, JavaScript or other languages (called CGI

applications).
Features of HTML: -

HTML stands for Hyper Text Markup Language.

 An HTML file is a text file containing small markup tags.


 The markup tag tells the Web browser how to display the page.
 An HTML file must have an htm or html file extension.
 An HTML file can be created using a simple text editor.

91 | P a g e
APPENDIX-D

What is JAVASCRIPT?

JavaScript is a compact, object-based scripting language. It can provide interactive web pages,
validate from data, and make your web page clearer. JavaScript is a lightweight interpreted
scripting language. The language is most well-known for its use in websites. It was originally
developed by Brendan Each of Netscape Communications. It adds interactive functions to
HTML pages, which are otherwise static. JavaScript is easier to use than Java, but not as
powerful and deals mainly with the elements on the Web page. On the client, JavaScript is
maintained as source code embedded into an HTML page. On the Server, it is compiled into byte
code (intermediate language), similar to Java programs.

Features of JavaScript:-
JavaScript was designed to add interactively to HTML pages.

JavaScript is a scripting language-a scripting language is a lightweight programming


language.
A JavaScript is usually embedded directly in HTML pages.

A JavaScript is an interpreted language (means that script execute without preliminary


compilation).
All major browsers, like Netscape and Internet Explorer, support JavaScript.

Functions of JavaScript:-

JavaScript gives you the ability to perform the following functions:

1. Control document appearance and content


2. Control the browser
3. Interact with document content
4. Interact with the user
5. Read and write client state with cookies
6. Interact with applets

92 | P a g e
7. Manipulate Embedded Images
Limitations of JavaScript:-
JavaScript does not have any graphics capabilities
Client-side JavaScript cannot read or write files
JavaScript does not support networking of any kind
JavaScript doesn’t have any multithreading capabilities.

93 | P a g e
GLOSSARY

Analysis:
Breaking a problem into successively manageable parts for individual study.

Attribute:
A data item that characterizes an object.

Cost/Benefit Analysis:
The purpose of the comparing the projected savings and benefits to projected to costs to decide
whether the system change is justified.

Data Base:
A store of integrated data capable being directly addressed for multiple user; it is organized so
that various files can be accessed through a single referenced based on the relationship among
records in the file rather than the physical location.

DBMS:
The software that determines how data must be structured to produce the user’s view; and
maintain update the system.

Data Flow:
Moment of data in a systems from appoint of origin to specific destination indicated by a line
and arrow.

Data Security:
Protection of data from loss, disclosure, modification or destruction.

Data Structure:
Logically related set of data that can be decomposed into lower level data elements; a group of
data elements handled as a unit.

94 | P a g e
Design:
Process of devolving the technical and operational specification of a candidate system for
implementation.

Feasibility Study:
A procedure that identifies describes and evaluates candidate systems and selects the best system
for implementation.

File:
Collection related records organized for a particular purpose also called a data set.

Flow Chart:
A graphic picture of the logical steps and sequence involved in a procedure or a program.

Form:
A physical carrier of data of information.

Implementation:
In system development- a phase that focuses on user training, site preparation and file conversion
for installing a candidate system.

Maintenance:
Restoring to its original condition.

Normalization:
A process of replacing a given file with its logical equivalent; the object is true derive sample file
with no redundant elements.

Operating System:
In data base machine based software that facilitates the availability information or reports
through the DBMS.

Password:
Identity authenticator a key that allow access to a program system or procedure.

Pert:
A flow system model used to manipulate various values as a basis for determining the critical
path to interpret this relationship and to relate them back to the real world as a control technique.

95 | P a g e
Record:
A collection of aggregates or related item of data treated as a unit.

Source code:
A procedure or format that allow enhancement on a software package.

System:
A regular or orderly arrangement of components or parts in a connected and interrelated series or
whole; a group of components necessary to some operation.

System Design:
Detailed concentration on the technical and other specification that will make the new system
operational.

System Development Life Cycle:


A structured sequence of phases for implementing an information system.

System Testing:
Testing the whole system by the user after major programs and sub systems have been tested.

96 | P a g e
REFERENCES

BOOK REFERRED
Roger Pressman, “Software Engineering”, McGraw Hill, Fifth Edition.

Analysis and Design of Information System by James A.Senn, McGraw


Hill. The Complete Reference Java
Struts The Complete Reference , Second Edition–DCET
J2EE by GARRY CORNELL.
J2EE by Allamaraju & Buest (Apress
Publications). JSP & Servlets by Marty Hall
(SUN Microsystems)
Struts by O'Reilly
“An Integrated Approaches Software Engineering”*IInd edition(2003). By Pankaj
Jalote

SITE REFERRED
1. https://www.oracle.com/sun/index.html
2. https://www.javatpoint.com/
3. http://www.w3schools.com
4. http://www.google.com

97 | P a g e

You might also like